新手的第一个phonegap Android应用
对PhoneGap开发感兴趣的请加入群 PhoneGap App开发 348192525
手机成为现在软件应用必不可少的一种设备,然而手机平台的不统一造成我们需要为不同手机重写代码,这对一般应用来说也许称得上是一种浪费,那有没有可以只写一套代码就能在不同手机上使用呢?今天准备开始做一个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的关系。
Cordova supports Android 2.2, 2.3, and 4.x.
------------------------------------
以下使用cordova-3.1.0
准备
- 安装JAVA JDK
- 安装Eclipse
- 安装Android SDK,根据自己的系统选择相应的系统版本下载,下载解压或安装后运行SDK Manager.exe , 下载4.2 SDK,否则后续不能使用命令行创建项目
- 安装ADT。选择eclipse菜单Help下的【install New Software】,输入https://dl-ssl.google.com/android/eclipse/
- 安装NodeJS
命令行执行npm install -g cordova
这一步我安装不成功,返回错误.根据错误log中的一些字搜索了一下关键字npm ERR! node_modules\npm\node_modules\npm-registry-client\lib\request.js:238:23) ,网上说有是代理服务器的问题,我也不懂,猜可能是权限问题,于是试试网页访问https://github.com 后登录再安装试试,竟然好了,原因不明.
- 新建一个项目,执行命令行 cordova create yw com.glodon.yw YW , 如果安装有问题可以后面加上 –d启动查看执行详细信息。下载类库时间有点长,我大概等了10几分钟吧,你也耐心点,不要中断执行。我第一次就是因为不想等了,然后中断,导致后面步骤失败,不得已删除下载的类库目录文件再次执行此步骤
- cd yw 后,执行cordova platform add android显示我没有安装4.2 SDK,难道现在的cordova版本支持最低是4.2?先不管了,返回第3步骤执行下载4.2 SDK。这个步骤一开始也需要下载类库,再等等,这个时间比上面的时间短一些:)
新建一个模拟器,然后执行cordova emulate android 则可打开模拟器。
- build项目:
cordova build
- 增加插件:
cordova plugin add org.apache.cordova.camera //摄像头
cordova plugin add org.apache.cordova.dialogs //通知、震动cordova plugin add org.apache.cordova.vibration
你可以在Eclipse中新建一个Android项目,然后选择从已有代码中新建,选择前面命令行新建的目录。之后就可以在Eclipse中去工作了。
使用二维码插件
想在项目中使用二维码扫描,找了一下,发现已经有这个插件,地址:https://github.com/wildabeast/BarcodeScanner ,按照它的readme,网上也找了很长时间的使用说明,但是因为框架插件机制更改,找到的都是代码片段,始终不能运行。于是看了一下源码,终于搞定,下面把使用说明简单说一下,这样新手们可以不用像我这样走弯路了。
- 在https://github.com/wildabeast/BarcodeScanner 下载插件代码
- 从已有代码新建一个项目,选择android目录
- 在项目的属性页 的【android】页签勾选【is library】,在Reference中【add】前面假的CaptureActivity项目
- 把插件代码文件\src\android\com\phonegap\plugins\barcodescanner\BarcodeScanner.java 加入到项目中
- 更改config.xml
- 把源码中的www\barcodescanner.js 文件加入到 asserts\www下,但需要更改一下代码
- 在页面调用二维码扫描功能
我是phonegap 新手,初来乍到,上面有不对的地方请多指教。
转载于:http://www.zhoujingen.cn/blog/aboutme
新手的第一个phonegap Android应用的更多相关文章
- 【转】基于第一个PhoneGap(cordova)的应用详解
PhoneGap是一套能让你使用HTML5轻松调用本地API接口和发布应用到商店的应用开发平台.官方说有低成本,低开发周期,轻量化等优点,这些咱暂时也没法证明,略过不表.但是有一条跨平台,却是很明显的 ...
- PhoneGap Android环境搭建
原文地址:http://www.cnblogs.com/shawn-xie/archive/2012/08/15/2638480.html 一.安装 在安装PhoneGap开发环境之前,需要按顺序安装 ...
- phonegap android 输入法弹出会遮盖表单框的解决办法
phonegap android 当页面内容比较多,表单超出屏幕范围时,点击输入,输入法会遮盖住表单框,而且无法向上滑动. 经过测试发现,是由于config.xml中设置了 FullScreen 的全 ...
- 招聘:有兴趣做一个与Android对等的操作系统么?
招聘:有兴趣做一个与Android对等的操作系统么? 前不久我发了一篇<八一八招聘的那些事儿>讲了我自己作为求职者对招聘的一些看法.那个时候我还在求职,对求职的结果还是挺满意的,五家公司面 ...
- 开源自己的一个小android项目(美女撕衣服游戏)
这是自己的一个开源自己的一个小android项目(美女撕衣服游戏),也是前6个月开发的,有部分的资源来自网络上的,现在开源出来给大家吧,由于源码比较大,不上传了,我已经上传到源码天堂那个网站那里了,大 ...
- 【Android Studio探索之路系列】之中的一个:Android Studio开篇
作者:郭孝星 微博:郭孝星的新浪微博 邮箱:allenwells@163.com 博客:http://blog.csdn.net/allenwells github:https://github.co ...
- 一个三年Android开发的总结-开篇
一个三年Android开发的总结-开篇 转眼间全职从事Android开发已有三年,想把这一阶段的积累总结记录并展现出来,作为Android开发必备的知识,希望对有一定Android开发基础的人进阶有裨 ...
- Androng,一个针对Android的Pong克隆
下载application from Android market 下载source - 532 KB 内容 IntroductionAndroid游戏开发 活动视图绘图使用CanvasAnimati ...
- Android开发新手学习总结(一)——使用Android Studio搭建Android集成开发环境
[新手连载]一:使用Android Studio搭建Android集成开发环境http://bbs.itcast.cn/forum.php?mod=viewthread&tid=87055&a ...
随机推荐
- Asp.net操作cookie大全
实例代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3 ...
- Jquery实现文字向上逐条滚动
直接上代码: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" ...
- Java面试题整理
1 Switch能否用string做参数? a.在 Java 7 之前, switch 只能支持byte,short,char,int 或者其对应的封装类以及 Enum 类型.在JAVA 7中,St ...
- noip2010-t3
[题目描述] S 城现有两座监狱,一共关押着N 名罪犯,编号分别为1~N.他们之间的关系自然也极不和谐.很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突.我们用“怨气值”(一个正整数值)来 ...
- mysql注入读写文件
mysql <5.0 读文件:load_file() sql-shell select load_file(''); d:/www/xx/index.php /home/webroot/.... ...
- 【线段树】bzoj1756 Vijos1083 小白逛公园
我们知道,求一段序列的最大子段和是O(n)的,但是这样是显然会超时的. 我们需要一个数据结构来支持修改和计算的操作,对于这种修改一个而查询区间的问题,考虑使用线段树. 在线段树中,除了左端点,右端点, ...
- MIMO下的MES均方误差详细推导过程
- where和having子句的区别
having子句可以让我们筛选成组后的各种数据,having子句在查询过程中慢于聚合语句 having的用法 having子句可以让我们筛选成组后的各种数据,having子句在查询过程中慢于聚合语句( ...
- 简单修改cramfs
首先进入root用户,确保LINUX系统下装有cramfsprogs,没有的话get-apt install cramfsprogs, 找到.cramfs文件,输入命令cramfsck -x song ...
- gridview汇出EXCEL (ExportGridViewToExcel(dt, HttpContext.Current.Response);)
调用 ExportGridViewToExcel(dt, HttpContext.Current.Response); private void ExportGridViewToExcel(DataT ...