使用 Cordova(PhoneGap)构建Android程序
移动终端开发随着智能手机的普及变得越来越热,什么项目都想移动一把,但反观要去学这些各个终端的控件使用,实属不易,又特别是每个终端的控件及所用语言都各不相同,使得这种学习变得更加困难.
有没有一种简单的方式能够快速构建移动终端程序并能在各个终端平台上快速打包并正常使用? 答案是肯定的,并且这种框架还不少,本文简单的介绍通过Cordova(原名为phonegap)这个平台构建一个android 程序.
- 开发环境准备.
- 安装JDK,此步骤忽略,各位有意的看官可自行去oracle网站上下载你适合的jdk版本.安装完后请添加系统环境变量”JAVA_HOME”,指向的路径为你刚安装的JDK目录.并将Path环境变量增加上 JAVA_HOME 路径,即在Path环境变量路径末尾增加上 ”;%JAVA_HOME%\bin”.
- 下载Adt-bundle-windows软件包,这个是google集成了android sdk的eclipse开发环境. 下载后直接解压即可使用.
- 安装node.js, 因Cordova最新版可直接使用node.js来安装,并且每次开发的时候都可以更新到最新的Cordova版本,故本处我们先安装Node.js.可通过官网直接下载.
- 安装cordova,在命令行工具中输入”npm install -g phonegap”,成功后再次输入 “npm install -g cordova”,
- 配置”ANDROID_HOME”环境变量,将其路径指向你的Android SDK路径,如我本机会设置为”D:\Stady\JAVA\Android\Adt-bundle-windows\sdk”.
- 另外,ADT(android 模拟器)会默认创建在 操作系统盘的用户目录下,若想改到其他位置,可以添加一个环境变量 “ANDROID_SDK_HOME”,指向你期望的位置即可.
- 在正式例子之前,我们先验证环境是否已经ok,可简单通过查看 java/npm 版本命令来在验证是否正常,如 java –version / npm –version.
- 在以上步骤都ok之后,我们就可以开始Cordova之旅了.
- 在命令窗口提供cd命令跳转到新项目存放的目录.如 cd D:\Stady\JAVA\Android\Project .

- 通过命令 Cordova Create 创建一个新项目,最常用的命令可以使用 Cordova 路径 包名 项目名 ,如本处我们将创建一个用于人力资源的APP,将其简称为 HR, 创建项目的命令便可以使用为 cordova create HR com.xiezl.hr HR , 命令执行完后,我们的项目文件大概如下图所示.


- Cordova 是一个可以跨平台的移动终端解决方案,目录中platforms 就将存放各个平台所独有的文件资源,目前因为我们还没有添加任何平台进去,所以这个目录暂时是空的.本文主要介绍Android环境下的开发,其他平台(IOS,wp等)本人没有尝试过,但感觉应该类似.
- 进入到项目解决方案目录后,通过 cordova platform add android 命令添加 android 平台.稍等片刻直到见到如下图所示.

- 此时,我们在进入到platform便可见到我们刚添加的android平台,如下图所示.

- 当完成上面步骤后,我们的基础工作就已经完成了,接下来,我们用Adt-bundle-windows 中的eclipse 来打开我们刚刚创建的项目.通过eclipse中的import命令导入我们刚创建的项目.



- 导入后,我们的项目在eclipse的效果如上图所示,一共有两个项目,CordovaApp-CordovaLib为lib项目,HR为我们的工作项目.在这个项目中,assets 目录下目前只有一个提示文件,可以通过这个提示文件的辅助方法,将文件过滤器移除后,就可以展现出我们的项目文件.

- 接下来我们可以尝试去看下 index.html 文件,这个便是我们的程序入口展示界面,我们可以简单的改造一下,假设如下所示.

- 因为仅仅是测试项目,改造完后,我们通过模拟器来运行这个项目.大概像这个样子.可以清楚的看出我们的app展示的界面就是我们的index.html的内容.我们回到我们项目解决方案目录下,定位到platform\android\bin目录下,可以看到这里有一个HR.apk文件,相信大家已经猜出这个文件是什么了,不妨把这个文件拷贝到手机上去安装后运行下看看什么情况.


- 经过了以上步骤,我想各位应该能明白怎么使用cordova做android项目了.大家可以自己去尝试一下.
- 在命令窗口提供cd命令跳转到新项目存放的目录.如 cd D:\Stady\JAVA\Android\Project .
- 在上面我们简单的介绍了使用Cordova来快速搭建一个android开发项目,例子就先介绍到此,后面我们将通过一个实实在在的真实项目HR,来一起学习如何使用jquery mobile +html5+cordova开发真正的app程序.
号外,我也是刚开始学习这个东东,所以文中难免会有写疏漏,欢迎各位指出以便共同学习.共同提高.
使用 Cordova(PhoneGap)构建Android程序的更多相关文章
- 在 Linux 中自动生成 Cordova/Phonegap for Android 的 APK 安装程序
在 Linux 中自动生成 Cordova/Phonegap for Android 的 APK 安装程序 本贴首发于: http://xuekaiyuan.com/forum.php?mod=vie ...
- 在 Cordova/Phonegap for Android 中包含中文文件名的页面
在 Cordova/Phonegap for Android 中包含中文文件名的页面 本贴首发于: http://xuekaiyuan.com/forum.php?mod=viewthread& ...
- 使用 Eclipse PhoneGap 构建 Android 应用程序入门
Eclipse 是一种支持多种技术的开源集成开发环境 (IDE),但本文重点介绍 Java 支持,这也是 Android 应用程序的“母语”.Android 是 Google 发布的开源移动操作系统. ...
- 用Gradle 构建android程序
前言 android gradle 的插件终于把混淆代码的task集成进去了,加上最近,android studio 用的是gradle 来构建项目, 下定决心把android gralde 构建项目 ...
- phonegap退出android程序
最近用android做了一个程序,在点“后退”的时候,会不停地后退,感觉不好. 查了些资料有这么些: 一.toast_plugin插件 <script type="text/javas ...
- 在内网使用Gradle构建Android Studio项目
在Android Studio项目中,默认的远程仓库为jcenter,如果在项目引用了一些类库,Gradle构建程序的时候会将这些依赖类库从jcenter网站下载到本地,如我们在 build.grad ...
- 设置 phoneGap/Cordova 3.4 应用程序启动动画闪屏 SplashScreen
当Cordova 程序打包并安装到手机中后,我们会发现启动程序时,会有数秒的黑屏现象,常见的解决方法则是设置闪屏后面. 这里以 Android 程序为例,介绍Cordova设置启动画面的方法. 1. ...
- 使用jQuery Mobile + PhoneGap 开发Android应用程序(转)
使用jQuery Mobile + PhoneGap 开发Android应用程序(转) 一.简介 jQuery Mobile是jQuery在手机上和平板设备上的版本.jQuery Mobile 不仅给 ...
- [转]-用Gradle 构建你的android程序
出处:http://www.cnblogs.com/youxilua 前言 android gradle 的插件终于把混淆代码的task集成进去了,加上最近,android studio 用的是gr ...
随机推荐
- (一)安装Python
一.安装python 打开 Python官网,找到“Download”, 在其下拉菜单中选择自己的平台(Windows/Mac),一般的Linux平台已经自带的Python,所以不需要安装,通过打开“ ...
- SQL 脚本整理 笔记
1.视图 存储过程 触发器 批量加密(With Encryption),单个解密 在运行过程中自己找不到启用DAC 的地方,链接的时候需要在服务器名称前面添加ADMIN:,如本机是ADMIN:WP-P ...
- C#自定义控件 在 Toolbox显示不了的问题
1) Close your solution2) Tools->Options->"Windows Form Designer" - find AutoToolboxP ...
- 简单Java程序向实用程序的过度:二进制文件的读写
File I/O中常见的文件读写: 1.字节流读写文本文件 FileInputStream; FileOutputStream; 2.字符流读写文本文件 FileReader; FileWriter; ...
- javascript小数相减出现一长串的小数位数
我们要修改网页某个数据的显示格式,需要两步操作: 1.在JS中通过$('.class1 .class2 li:eq(2) span.value').text().trim();类似的语句获取到数据内容 ...
- [SQL SERVER系列]工作经常使用的SQL整理,实战篇(二)[原创]
工作经常使用的SQL整理,实战篇,地址一览: 工作经常使用的SQL整理,实战篇(一) 工作经常使用的SQL整理,实战篇(二) 工作经常使用的SQL整理,实战篇(三) 接着上一篇“工作经常使用的SQL整 ...
- Flexviewer使用Google地图作为底图
Flexviewer使用Google地图作为底图: 在使用google地图作底图前提是你需要在Flex中实现加载google地图的代码(网上一大堆,随便找), 在只加载google地图的情况下,成功显 ...
- Android 隐式 Intent 跳转注意事项
前几天正好看到<阿里巴巴 Android 开发手册>中提到的: “Activity 间通过隐式 Intent 的跳转,在发出 Intent 之前必须通过 resolveActivity 检 ...
- android drag
1.Android:Drag and Drop的应用 2.Android 用户界面---拖放(Drag and Drop)(三) 3.Android 用户界面---拖放(Drag and Drop)( ...
- Java—集合框架 List和Set的contains()以及Map的containsKey()、containsValue()
如何判断集合中是否存在某个元素——contains() 1.List的contains(obj)方法 实际上,List调用contains(Object obj)方法时,会遍历List中的每一个元素, ...