移动终端开发随着智能手机的普及变得越来越热,什么项目都想移动一把,但反观要去学这些各个终端的控件使用,实属不易,又特别是每个终端的控件及所用语言都各不相同,使得这种学习变得更加困难.

有没有一种简单的方式能够快速构建移动终端程序并能在各个终端平台上快速打包并正常使用? 答案是肯定的,并且这种框架还不少,本文简单的介绍通过Cordova(原名为phonegap)这个平台构建一个android 程序.

  1. 开发环境准备.
    1. 安装JDK,此步骤忽略,各位有意的看官可自行去oracle网站上下载你适合的jdk版本.安装完后请添加系统环境变量”JAVA_HOME”,指向的路径为你刚安装的JDK目录.并将Path环境变量增加上 JAVA_HOME 路径,即在Path环境变量路径末尾增加上 ”;%JAVA_HOME%\bin”.
    2. 下载Adt-bundle-windows软件包,这个是google集成了android sdk的eclipse开发环境. 下载后直接解压即可使用.
    3. 安装node.js, 因Cordova最新版可直接使用node.js来安装,并且每次开发的时候都可以更新到最新的Cordova版本,故本处我们先安装Node.js.可通过官网直接下载.
    4. 安装cordova,在命令行工具中输入”npm install -g phonegap”,成功后再次输入 “npm install -g cordova”,
    5. 配置”ANDROID_HOME”环境变量,将其路径指向你的Android SDK路径,如我本机会设置为”D:\Stady\JAVA\Android\Adt-bundle-windows\sdk”.
    6. 另外,ADT(android 模拟器)会默认创建在 操作系统盘的用户目录下,若想改到其他位置,可以添加一个环境变量 “ANDROID_SDK_HOME”,指向你期望的位置即可.
  2. 在正式例子之前,我们先验证环境是否已经ok,可简单通过查看 java/npm 版本命令来在验证是否正常,如 java –version / npm –version.
  3. 在以上步骤都ok之后,我们就可以开始Cordova之旅了.
    1. 在命令窗口提供cd命令跳转到新项目存放的目录.如 cd D:\Stady\JAVA\Android\Project .
    2. 通过命令 Cordova Create 创建一个新项目,最常用的命令可以使用 Cordova 路径 包名 项目名 ,如本处我们将创建一个用于人力资源的APP,将其简称为 HR, 创建项目的命令便可以使用为 cordova create HR com.xiezl.hr HR , 命令执行完后,我们的项目文件大概如下图所示.
    3. Cordova 是一个可以跨平台的移动终端解决方案,目录中platforms 就将存放各个平台所独有的文件资源,目前因为我们还没有添加任何平台进去,所以这个目录暂时是空的.本文主要介绍Android环境下的开发,其他平台(IOS,wp等)本人没有尝试过,但感觉应该类似.
    4. 进入到项目解决方案目录后,通过 cordova platform add android 命令添加 android 平台.稍等片刻直到见到如下图所示.
    5. 此时,我们在进入到platform便可见到我们刚添加的android平台,如下图所示.
    6. 当完成上面步骤后,我们的基础工作就已经完成了,接下来,我们用Adt-bundle-windows 中的eclipse 来打开我们刚刚创建的项目.通过eclipse中的import命令导入我们刚创建的项目.
    7. 导入后,我们的项目在eclipse的效果如上图所示,一共有两个项目,CordovaApp-CordovaLib为lib项目,HR为我们的工作项目.在这个项目中,assets 目录下目前只有一个提示文件,可以通过这个提示文件的辅助方法,将文件过滤器移除后,就可以展现出我们的项目文件.
    8. 接下来我们可以尝试去看下 index.html 文件,这个便是我们的程序入口展示界面,我们可以简单的改造一下,假设如下所示.
    9. 因为仅仅是测试项目,改造完后,我们通过模拟器来运行这个项目.大概像这个样子.可以清楚的看出我们的app展示的界面就是我们的index.html的内容.我们回到我们项目解决方案目录下,定位到platform\android\bin目录下,可以看到这里有一个HR.apk文件,相信大家已经猜出这个文件是什么了,不妨把这个文件拷贝到手机上去安装后运行下看看什么情况.
    10. 经过了以上步骤,我想各位应该能明白怎么使用cordova做android项目了.大家可以自己去尝试一下.
  4. 在上面我们简单的介绍了使用Cordova来快速搭建一个android开发项目,例子就先介绍到此,后面我们将通过一个实实在在的真实项目HR,来一起学习如何使用jquery mobile +html5+cordova开发真正的app程序.
    号外,我也是刚开始学习这个东东,所以文中难免会有写疏漏,欢迎各位指出以便共同学习.共同提高.

使用 Cordova(PhoneGap)构建Android程序的更多相关文章

  1. 在 Linux 中自动生成 Cordova/Phonegap for Android 的 APK 安装程序

    在 Linux 中自动生成 Cordova/Phonegap for Android 的 APK 安装程序 本贴首发于: http://xuekaiyuan.com/forum.php?mod=vie ...

  2. 在 Cordova/Phonegap for Android 中包含中文文件名的页面

    在 Cordova/Phonegap for Android 中包含中文文件名的页面 本贴首发于: http://xuekaiyuan.com/forum.php?mod=viewthread& ...

  3. 使用 Eclipse PhoneGap 构建 Android 应用程序入门

    Eclipse 是一种支持多种技术的开源集成开发环境 (IDE),但本文重点介绍 Java 支持,这也是 Android 应用程序的“母语”.Android 是 Google 发布的开源移动操作系统. ...

  4. 用Gradle 构建android程序

    前言 android gradle 的插件终于把混淆代码的task集成进去了,加上最近,android studio 用的是gradle 来构建项目, 下定决心把android gralde 构建项目 ...

  5. phonegap退出android程序

    最近用android做了一个程序,在点“后退”的时候,会不停地后退,感觉不好. 查了些资料有这么些: 一.toast_plugin插件 <script type="text/javas ...

  6. 在内网使用Gradle构建Android Studio项目

    在Android Studio项目中,默认的远程仓库为jcenter,如果在项目引用了一些类库,Gradle构建程序的时候会将这些依赖类库从jcenter网站下载到本地,如我们在 build.grad ...

  7. 设置 phoneGap/Cordova 3.4 应用程序启动动画闪屏 SplashScreen

    当Cordova 程序打包并安装到手机中后,我们会发现启动程序时,会有数秒的黑屏现象,常见的解决方法则是设置闪屏后面. 这里以 Android 程序为例,介绍Cordova设置启动画面的方法. 1. ...

  8. 使用jQuery Mobile + PhoneGap 开发Android应用程序(转)

    使用jQuery Mobile + PhoneGap 开发Android应用程序(转) 一.简介 jQuery Mobile是jQuery在手机上和平板设备上的版本.jQuery Mobile 不仅给 ...

  9. [转]-用Gradle 构建你的android程序

    出处:http://www.cnblogs.com/youxilua  前言 android gradle 的插件终于把混淆代码的task集成进去了,加上最近,android studio 用的是gr ...

随机推荐

  1. 关于Java中用Double型运算时精度丢失的问题

    注:转自 https://blog.csdn.net/bleach_kids/article/details/49129943 在使用Java,double 进行运算时,经常出现精度丢失的问题,总是在 ...

  2. linkedHashMap源码解析(JDK1.8)

    引言 关于java中的不常见模块,让我一下子想我也想不出来,所以我希望以后每次遇到的时候我就加一篇.上次有人建议我写全所有常用的Map,所以我研究了一晚上LinkedHashMap,把自己感悟到的解释 ...

  3. 【数据库】8.0 MySQL入门学习(八)——创建并使用数据库、获得数据库和表的信息

    1.0 使用SHOW语句找出服务器上当前存在什么数据库: mysql> SHOW DATABASES; 每台机器上的数据库列表是不同的,但是很可能有mysql和test数据库.mysql是必需的 ...

  4. wxpython 简单表格控件

    import wx, wx.grid class GridData(wx.grid.PyGridTableBase): _cols = "a b c".split() _data ...

  5. Extjs 自动列宽

    //auto column width Ext.grid.Panel.prototype.viewConfig = { listeners: { refresh: function (dataview ...

  6. Oracle DG 三种模式(转)

    DG有下面三种模式– Maximum protection– Maximum availability– Maximum performance 在Maximum protection下, 可以保证从 ...

  7. 【面试虐菜】—— 常用SQL语句

    创建表 create table emp( id decimal, name ), age decimal) 删除表 DROP TABLE EMP 插入默认值 CREATE TABLE EMP( Id ...

  8. Python3基本数据类型(六、字典)

    一.集合介绍 Python set是基本数据类型的一种集合类型,它有可变集合(set())和不可变集合(frozenset)两种.集合是一个无序的,不重复的数据组合,主要作用为:去重(把一个列表变成集 ...

  9. 什么是SWP文件?能否删除swp文件?

    SWP意思就是交换文件..SWP是各种操作系统(Windows或Linux)使用的交换文件的文件扩展名. 可以安全地清理SWP文件以释放磁盘空间. 要清理SWP文件,请按照以下步骤操作: 运行WinU ...

  10. 微信小程序开发实践

    目录 项目是否适合移植到小程序上? 概要介绍 实践得到的经验 规则 小程序不支持的 新特性 小窍门 会话管理 进阶 项目是否适合移植到小程序上? 小程序由于微信提供了一些组件,在微信中的一些体验确实不 ...