新手的第一个phonegap Android应用

对PhoneGap开发感兴趣的请加入群 PhoneGap App开发 348192525  PhoneGap App实战开发

    

手机成为现在软件应用必不可少的一种设备,然而手机平台的不统一造成我们需要为不同手机重写代码,这对一般应用来说也许称得上是一种浪费,那有没有可以只写一套代码就能在不同手机上使用呢?今天准备开始做一个phonegap应用学习一下。

下面我将简要的介绍编写过程,如果你也不是初学者,那么就忽略这篇文章:)

phonegap介绍

官方网址:http://phonegap.com

08年一次ios开发者大会上来自Nitobi软件公司的几个家伙突发奇想,提出一个想法,想做一个工具来弥补web和ios开发之间的不足,并提出 Bridging the gap between the web and the iPhone sdk。一开始的目标并不是很大,但是做到了现在的 written once,run everywhere。我们很多人做事其实也应该这样,一开始不要把目标弄得那么大,跳一步能够上就好,这也是敏捷个人制定目标的一个原则。如果一下子目标太大,你会因为难以实现而给自己找理由,这样到头来你什么都没有。

09年他们推出android adk和blackberry sdk,成了移动开发者的福音,就连ibm也加入进来。phonegap继续成长,在11年10月,整个Nitobi团队被adobe收购,随后adobe把 phonegap送给了apache软件基金会,接着apache把phonegap改名为cordova,cordova是Nitobi团队当时坐落的街道名称,用此名来纪念Nitobi团队的贡献。

PhoneGap是一款开源的手机应用开发平台,它仅仅只用HTML和JavaScript语言就可以制作出能在多个移动设备上运行的应用。 PhoneGap将移动设备本身提供的复杂的API进行了抽象和简化,提供了一系列丰富的API供开发者调用,只要你会HTML和Javascript或 者Java语言,就可以利用PhoneGap提供的API去调用各种功能,制作出在各种手机平台(iPhone,Android ,BlackBerry,Symbian,Palm,Window Phone)上运行的应用。目前phonegap获得Apple,IBM,NOKIA,palm等众多公司的支持。简单来说使用PhoneGap就是使用HTML,JavaScript和CSS来开发程序,最终通过PhoneGap可以产生对应版本的native 程序。

谁在使用PhoneGap

支持平台

Apache Cordova框架

2011年10月,Adobe收购了Nitobi Software和它的PhoneGap产品,然后宣布这个移动开发框架将会继续开源,并把它提交到Apache Incubator,以便完全接受ASF的管治。PhoneGap的项目主管Brian LeRoux指出开源PhoneGap的决定在Adobe收购Nitobi之前就做出了,由于Adobe现在拥有PhoneGap商标,他们不得不换个名 字。第一个选中的名字是Callback,毫无创意,因此再改一次,产品现在叫Apache Cordova。Apache Cordova是PhoneGap贡献给Apache后的开源项目,是从PhoneGap中抽出的核心代码,是驱动PhoneGap的核心引擎,你可以把他想象成类似于Webkit和Google Chrome的关系。

网址:http://cordova.apache.org/

Cordova supports Android 2.2, 2.3, and 4.x.

------------------------------------

以下使用cordova-3.1.0

准备

  1. 安装JAVA JDK
  2. 安装Eclipse
  3. 安装Android SDK,根据自己的系统选择相应的系统版本下载,下载解压或安装后运行SDK Manager.exe , 下载4.2 SDK,否则后续不能使用命令行创建项目
  4. 安装ADT。选择eclipse菜单Help下的【install New Software】,输入https://dl-ssl.google.com/android/eclipse/
  5. 安装NodeJS
  6. 命令行执行npm install -g cordova 
    					
    这一步我安装不成功,返回错误.根据错误log中的一些字搜索了一下关键字npm ERR!  node_modules\npm\node_modules\npm-registry-client\lib\request.js:238:23)  ,网上说有是代理服务器的问题,我也不懂,猜可能是权限问题,于是试试网页访问https://github.com 后登录再安装试试,竟然好了,原因不明.
    
  7. 新建一个项目,执行命令行 cordova create yw com.glodon.yw YW , 如果安装有问题可以后面加上 –d启动查看执行详细信息。下载类库时间有点长,我大概等了10几分钟吧,你也耐心点,不要中断执行。我第一次就是因为不想等了,然后中断,导致后面步骤失败,不得已删除下载的类库目录文件再次执行此步骤
  8. cd yw 后,执行cordova platform add android显示我没有安装4.2 SDK,难道现在的cordova版本支持最低是4.2?先不管了,返回第3步骤执行下载4.2 SDK。这个步骤一开始也需要下载类库,再等等,这个时间比上面的时间短一些:)


  9. 新建一个模拟器,然后执行cordova emulate android  则可打开模拟器。

  10. build项目:    cordova build
  11. 增加插件:    cordova plugin add org.apache.cordova.camera    //摄像头
                  cordova plugin add org.apache.cordova.dialogs    //通知、震动
                 cordova plugin add org.apache.cordova.vibration
  12. 你可以在Eclipse中新建一个Android项目,然后选择从已有代码中新建,选择前面命令行新建的目录。之后就可以在Eclipse中去工作了。

     

使用二维码插件

想在项目中使用二维码扫描,找了一下,发现已经有这个插件,地址:https://github.com/wildabeast/BarcodeScanner ,按照它的readme,网上也找了很长时间的使用说明,但是因为框架插件机制更改,找到的都是代码片段,始终不能运行。于是看了一下源码,终于搞定,下面把使用说明简单说一下,这样新手们可以不用像我这样走弯路了。

  1. https://github.com/wildabeast/BarcodeScanner 下载插件代码
  2. 从已有代码新建一个项目,选择android目录
  3. 在项目的属性页 的【android】页签勾选【is library】,在Reference中【add】前面假的CaptureActivity项目
  4. 把插件代码文件\src\android\com\phonegap\plugins\barcodescanner\BarcodeScanner.java 加入到项目中
  5. 更改config.xml
  6. 把源码中的www\barcodescanner.js 文件加入到 asserts\www下,但需要更改一下代码
  7. 在页面调用二维码扫描功能

 

 

我是phonegap 新手,初来乍到,上面有不对的地方请多指教。

 

转载于:http://www.zhoujingen.cn/blog/aboutme

posted on 2013-11-01 15:25  周 金根  阅读(12261)  评论(6编辑  收藏  举报

导航