新东西002--android使用phonegap

最近项目进度不是很紧张,经理就跟我们提了一下看是否能在项目中使用phonegap,他想通过引入phonegap来解决屏幕适配和减少android,ios开发难度的问题.于是,花了一周来大致了解了一下phonegap,但现在还没确定它的使用场景.

一.phonegap的引入

我使用的是比较老的phonegap-2.9.0(因为这个网上资料比较多,而且它的demo内容比较丰富,当前最新的demo感觉比较差,看完连他能实现什么都不知道,所以我就放弃了使用最新的,但最新的应该会更新一些比以前好的东西,只是现在,who care),

1.1 从phonegap上下载phonegap2.9.0,将下载目录下的lib/android/目录下的cordova-2.9.0.jar放到你项目的lib里,作为后期你项目要使用的jar包存在

1.2 在你项目的assets目录下创建www文件夹,将你下载的phonegap文件下的/lib/android/example/assets/www/cordova.js放在www目录下,这个JS文件是提供给你html所要使用的JS

1.3 复制cordova.js下的index.html,放到你的工程,你也可以自己重写一个html,这个是你的项目要打开的html,注意,一定要给他添加JS的支持,这样才可以调用设备的功能,否则跟一个单纯的网络html没有区别

1.4 复制你下载路径下exmple/res路径的xml文件夹,复制到你项目的res目录下(里面是一些对框架支持的参数)

1.5 给你的项目添加该有的权限(可从下载文件里的example下找它的mainfest,跟它一样申明旋转屏幕和一些操作设备的权限即可)


二.使用phonegap

按照上面的步骤,走到这,你也就为你的项目搭好了phonegap框架了,接着就是使用了

2.1 重写activity

创建你的activity,让你的activity不要继承activity,而是继承DroidGap(eclipse也许不会自动提醒这个类,你先写出来,再导报即可)

2.1 重写onCreate方法,注意,这个方法已经变为public了,你如果不更改,会有问题

2.2 在调用super.loadurl加载本地的html文件,但在之前一定要调用super.oncreate(saveinstancestate),否则会报错

2.3 最好删除app.activity这个包的导包

2.2 写html

写html,在asserts目录下的www的文件夹下写html,也就是跟你的js在同一个路径下,你也可以从网络下载html文件,如果要使用phonegap框架,都要放在这个路径下,如果你是第一次,可直接修改刚下载的example/asserts/www下的index.html,或者根据官网的(http://docs.phonegap.com/en/1.5.0/index.html)来写html,即可实现功能,其实,很多html代码都在官网有,复制下来运行看效果就行,但一定要保证你能运行出来


三.总结

对着官网,跟着它写了一遍所有html,除了一些细节问题,其余都没有什么太大的问题,但写完之后,想了一个可能比较傻的问题,就是:

"android使用phonegap框架,框架所使用到的html都必须放在本地吗?如果是直接打开网络html,那可以控制本地设备吗?"

自己仔细想了一下,觉得不行,因为JS在本地,而不在服务器,服务器的html不能调用本地的JS,所以不行,但phonegap可以打开远程服务器的html是完全没有问题的,只是不能反过来控制设备,这个概念一定要弄清楚,后来,这个观点也得到了phonegap100大神的确认.但具体,我还没有尝试.

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。