新手的第一个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 ...
随机推荐
- intelj对我来说比较常用的快捷键
文件查找 CTRL+N 查找类 CTRL+SHIFT+N 查找文件 CTRL+SHIFT+ALT+N 查找类中的方法或变量 CTRL+ALT+B 找所有的子类 CTRL+G 定位行 CTR ...
- Hibernate配置步骤
1.创建WEB项目 2.从http://www.hibernate.org/下载hibernate-release-4.3.11.Final.zip,并解压. 3.将hibernate必须的包加入li ...
- ASP.NET c# textbox 正则表达式 文本框只允许输入数字(验证控件RegularExpressionValidator )
<input type="text" name="test" onKeyUp="test1.value=(this.value=this.val ...
- mybatis框架中分页的实现
2.分页的实现? 分页的时候考虑的问题: 分页的大小,分页的索引. 比如:分页的大小为10,分页的起始索引为1(索引从1开始) 第一页:1到10. 起始行号: (页的索引-1)*分页大小+1 结 ...
- 在线编辑器的使用-KindEditor
第一种:KindEditor编辑器 步骤一:加载相应的核心的文件 下载地址:http://kindeditor.net/demo.php <link rel="stylesheet&q ...
- 【温故Delphi】Win32API之CreateMutex
解决问题 如何让一个软件在一台机器上只能运行一个实例呢?这个问题用专业术语就是进程互斥.这个问题可以通过CreateMutex来解决. 进程互斥的核心思想:进程在启动时首先检查是否存在此进程实例,如果 ...
- MD5编码
public class MD5 { public static String getMD5(String content) { try { MessageDigest digest = Messag ...
- navicat自动备份数据
1.打开navicat客户端,连上mysql后,双击左边你想要备份的数据库.点击"计划",再点击"新建批处理作业". 2.双击上面的可用任务,它就会到下面的列表 ...
- openoffice
cmdcd/cd C:\Program Files (x86)\OpenOffice 4\program soffice -headless -accept="socket,host=127 ...
- JS-sort排序
var arr = [ 'c', 'd', 'a', 'e' ];// arr.sort();// alert( arr );var arr2 = [ 4,3,5,5,76,2,0,8 ];// ar ...