您还将使用 Dojo Mobile 为应用程序提供一种与原生应用类似的感觉。在本文中,将了解如何结合使用 PhoneGap 和 Dojo Mobile,快速为 Android 创建一个外观和行为都类似于典型 Android 应用程序的混合移动应用程序。
无论您走到哪里,都能看到人们使用移动设备与亲朋进行联系,比如照张照片发布到社交网站上,查找饭店地址,或者查看最新的新闻标题。移动设备的外形和款式各式各样。移动电话可以运行各种不同的操作系统,比如 Apple 的 iOS、Google 的 Android 以及 Research In Motion 的 Blackberry。有些移动设备拥有较大的显示屏和物理键盘,可运行于 3G、4G 或 WiFi 网络之上。移动电话可能还有加速、位置甚至付款传感器。有些设备甚至不是电话;它们可能是拥有大显示屏并且只能传输数据的网络连接的平板电脑。
尽管外形上千差万别,但各种移动设备有一个共同点:它们都可以运行移动应用程序。移动应用程序可以划分为两种类型:
原生应用程序
原生应用程序是一些二进制可执行程序,它们安装在设备上,通过软件开发工具包 (SDK) 创建,由应用程序商店分发。每个移动操作系统都有一个 SDK,遗憾的是,每个操作系统的 SDK 都不相同。
例如,要为 iOS 创建一个应用程序,则必须下载并安装 iOS SDK 和开发工具,必须使用 Objective-C 编程语言进行应用程序编码。Android 应用程序通过 Android SDK 开发,使用 Java 语言编写。因此,要创建一个移动应用程序,则必须了解每个 SDK 并使用支持的编程语言编写应用程序。每个平台的 SDK 都有一个陡峭的学习曲线,因此移动应用程序开发非常复杂。
Web 应用程序
Web 应用程序用于载入移动 Web 浏览器,它们与原生应用程序的区别在于:无论设备采用哪种操作系统,它们都通过 Web 技术(HTML、JavaScript 和 CSS)进行编码。没有必要针对每个设备学习不同的编程语言。Web 开发人员对 HTML 和 JavaScript 应该很熟悉,因为经常使用它们创建加载到桌面浏览器中的网页。多数情况下,移动浏览器能呈现相同的网页,但(由于移动设备屏幕较小,网络连接较慢)网站通常提供一个移动版本,该版本内容较少,加载速度更快。
要 “运行” 一个 Web 应用程序,用户可以在移动 Web 浏览器中输入一个 URL。这将载入一个网页,该网页是一个 Web 应用程序的入口点。Web 应用程序不通过应用程序商店分发;它们只是一些链接,可以包含在其他网页、电子邮件甚至硬拷贝中。
原生应用程序和 Web 应用程序都有各自的优缺点,关于哪个更好用的争论很多。为了解决这种争执,开发了一种新的混合 应用程序,试图用它来结合原生应用程序和 Web 应用程序的优点。
与 Web 应用程序一样,混合应用程序通过 Web 技术编写,但被打包为原生应用程序。混合应用程序可以通过许多开发人员都熟悉的编程语言编写,只需编写一次即可用于多种设备操作系统。由于混合应用程序确实是原生应用程序,因此用户能从 Web 应用程序当前不可用的 JavaScript 访问设备功能。与原生应用程序一样,混合应用程序也能通过应用程序商店分发和安装。
PhoneGap 是一个流行的混合应用程序构建工具包。它是一个开源移动框架,包含一个 JavaScript API,用于访问加速仪和相机等设备功能。
本文将展示如何使用 PhoneGap 和 Dojo Mobile 工具包开发一个混合移动 Android 应用程序。了解如何使用 Android 模拟器和工具来测试应用程序,查看如何在 Android 设备或平板电脑上运行您的应用程序。
先决条件
本文假定您比较熟悉 Eclipse 开发环境、HTML、JavaScript 和 CSS。本文还需要以下软件:
Windows、OSX 或 Linux 操作系统 Java Development Kit (JDK) 5 或 JDK 6(一个 JRE 不够用) 一个 Eclipse 开发环境,比如 Eclipse Helios V3.6 或其更高版本,或者 IBM Rational Application Developer V8 Android SDK 和平台(r12 或其更高版本) Eclipse 的 Android Development Toolkit (ADT) 插件 PhoneGap SDK( V1.0.0 或其更高版本) Dojo Toolkit(V1.6 或其更高版本)
设置开发环境
要设置开发环境,请执行以下步骤:
安装 JDK 和 Eclipse 或 Rational Application Developer 下载 Android SDK 下载并安装 Eclipse 的 ADT 插件 安装必要的 Android 平台 新建一个 Android Virtual Device (AVD) 配置 Eclipse for Android 下载 PhoneGap SDK 下载 Dojo Toolkit
安装 JDK 和 Eclipse 或 Rational Application Developer
首先需要确认已安装 JDK 5 或更高版本。否则,下载 Java SE JDK (参见 参考资料)。
本文允许使用 Eclipse 或 IBM Rational Application Developer (RAD)。RAD 支持 Windows 和 Linux。OSX 开发人员可以使用 Eclipse。
RAD 包含 IBM 的 Eclipse 版本,以及其他支持 Java EE 的工具,比如 IBM 的 Web 2.0 Feature Pack。要使用 RAD,您需要 Version 8 或更高版本。RAD 包含 IBM 的 JDK,这是默认设置。但是,这个 JDK 不包含创建和签署 Android 应用程序所需的 Java 包。要更改为使用 Java SE JDK,则需要使用 清单 1 中的信息替换 C:/Program Files/IBM/SDP/eclipse.ini(或者您的已安装 RAD 的位置)。
清单 1. Windows 上的 RAD 的 eclipse.ini
-startupplugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar--launcher.libraryplugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.2.R36x_v20101222--launcher.defaultActionopenFile--launcher.XXMaxPermSize256M-showsplashorg.eclipse.platform--launcher.XXMaxPermSize256m--launcher.defaultActionopenFile-installC:/Program Files/IBM/SDP-vmargs-Dosgi.requiredJavaVersion=1.5-Xms40m-Xmx512m
如果您想使用 Eclipse,则需要 Version 3.6 或更高版本。由于本系列后面需要编写 Web 服务,因此请您下载 Eclipse IDE for Java EE Developers(请参阅 参考资料)。但是,如果您只想编写一个 Android 应用程序,那么还可以使用 Eclipse IDE for Java Developers。
Eclipse 和 RAD 非常相似。在本文中,如果提到 Eclipse,Eclipse 和 RAD 均适用。但是,屏幕截图来自 Windows 上运行的 RAD。