PhoneGap Debug没有网络的异常

这个问题是出现在调试的时候,设备断网了,加载的是debug.phonegap.com的js,导致报告CordovaWebView: TIMEOUT ERROR!的异常

刚刚开始学习PhoneGap本地调试,还是遇到了许多问题,意外的设备断网和没有进行的异常处理发生的问题,让人摸不到头绪。怎么会超时呢?设备响应过慢?看后台程序也不是很多,剩余CPU和内存都挺大的,但是还是超时,上网Google了一下,国外有人说可以加入一句

        super.setIntegerProperty("loadUrlTimeoutValue", 60000);

这样就可以了,但是加入之后依然报错。可能是数值太大?我没有尝试,继续细细的查找原因,将代码回退,直到正常,发现是因为加入的远程js文件无法加载了,因为设备已经无法上网了,但是网络连接是正常的,所以导致在程序开启是一直等待,等到超时之后就报告了一次错误。

PhoneGAP 开发调试心得

之前在SAE平台上做移动应用开发,但是平台给的云床调试器经常意外退出,导致调试工作进行的非常艰难。虽然SAE也有自己的远程调试,但是使用起来还不是非常的方便;近几天研究了一下PhoneGap给出的调试和打包工具,找到了一些较为简便的调试方法

1.Android平台开发工具

可以直接到http://developer.android.com/index.html下载安卓开发工具,不必先下载Eclipse再安装安卓SDK,这里给出的是专用于安卓开发的SDK,非常的方便。

2.PhoneGap示例包

一个简单的PhoneGap示例包就可以快速开始PhoneGap应用程序的开发,我做的主要是安卓的开发,主要是为了方便自己的日常生活,所以下载了示例包找到android,在上面下载到的Eclipse for android里直接新建工程,来自存在的代码,即可快速创建一个工程,然后将www目录里的内容替换为自己的即可。示例包下载地址:

3.ADB调试

有一台实体设备当然是最好不过的,相信现在绝大多数搞安卓应用程序的都不可能没有一台安卓设备。所以在调试的时候直接选择Device调试即可,使用数据线连接到电脑,安装好ADB驱动程序即可快速开始。但是我的电脑总是无法安装好ADB驱动程序,或者是ADB版本太新或太旧,总之总是不正常,最后想到了一个非常快速可行而且方便的解决方法,到kingroot官网下载了一个root工具,因为这些工具都是通过ADB的方式向手机发送命令,所有提前肯定会想尽各种方法让已经开启USB调试的手机能够连接到该软件上,否则别人还怎么用这些软件啊,所有就下载了一个,在调试程序的时候打开该软件,刷新几次就可以看到手机已经连接到电脑上了,而且安装好了驱动程序。昨天晚上使用了我的台式电脑win8的系统想要调试一个纽曼的平板设备,但无论如何都无法安装ADB驱动程序,最后就是用上面的root工具自动搜索安装了驱动程序。

4.远程调试

SAE自己也有一套跟PhoneGap一样的调试工具,但是不知道是不是调用的PhoneGap的接口或者是基于PhoneGap的调试工具进行的二次开发,这个不是重点;重点是SAE的云床调试器在我的手机上总是崩溃,这个让我十分恼火,所以我就只好使用PhoneGap提供的调试工具进行调试;只要在代码里加入一行js脚本即可使用PhoneGap的远程调试工具。网址是: http://debug.phonegap.com

解决JQuery Mobile切换页面白屏问题

JQuery Mobile(以下简称JQM)切换页面的白屏问题困扰了我好长时间,上网搜索也看到不少人都在为这个问题困扰着,Google搜索一下 “phonegap changepage white screen” 也看到了不少国外的朋友正在为这个问题困扰,也看到了不少人对这个问题的解决方法,但是试过了许多的方法之后,还是没有很满意的效果。

方法1:

.ui-page { -webkit-backface-visibility: hidden; }

方法2:

$(document).bind("mobileinit", function(){  
  $.extend(  $.mobile , {  
   defaultPageTransition: 'none'  
  });  
});

方法3:关闭硬件加速

<application  
            android:label="@string/app_name0"  
            android:allowClearUserData="false"  
            android:icon="@drawable/logo"  
            android:logo="@drawable/logo"  
            android:name="com.xx.xx"  
            android:hardwareAccelerated="false">

方法4:

location="target.html"

使用这种方法切换减慢,但效果最明显

JQueryMobi导入库正确,页面却无法正常显示

前几天在研究PhoneGAP写个手机客户端软件,因为之前破解了一个网络电话,用来在漫游的时候使用接听的方法来省漫游费,国内漫游的漫游费还是比较昂贵的,所以~~~不过现在破解的这个网络电话不能用了,好吧,我想说一下写这个客户端的时候遇到的一个小问题

使用PhoneGAP写客户端软件,其实非常的简单,尤其是像这种简单的接口调用的只要用简单的get post即可完成,借助于JQuery库的易用性,很方便的就完成了调用接口的功能。但是调试的时候发现,页面效果显示不出来,请求可以发起,undifined,查看原因,为什么呢?所有的库都被正确导入了~~最后排查各种原因还是搞不通,经过代码分析对比,发现,官方的代码示例是先导入的JQuery的库,再导入的JQuery的库,而我是反过来的,所以undifined.只要先导入JQuery的库再导入JQueryMobi的库即可成功显示页面效果。以后一定要注意这个问题~

jquery-mobile-logo