如何在Android中结合使用PhoneGap和Dojo Mobile

您还将使用 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。

时间: 2024-10-26 20:21:25

如何在Android中结合使用PhoneGap和Dojo Mobile的相关文章

如何在android 中添加行断点?

问题描述 如何在android 中添加行断点? 请问如何在 Android 中动态的添加行断点呢? TableRow tr5 = new TableRow(this); tr5.setLayoutParams(new LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); TextView b5 = new TextView(this); b5.setLayoutParams(new LayoutParams(

如何在 android 中动态的添加 checkboxs?

问题描述 如何在 android 中动态的添加 checkboxs? 我想在android中动态的创建edittext 字段,也创建了按钮点击事件.当我点击按钮,check boxes就会显示.但是当我在onclick动作上创建checkbox对象,就显示错误.使用的代码如下,为什么会显示错误呢? public class InflationActivity extends Activity {@Overridepublic void onCreate(Bundle savedInstanceS

如何在 android 中设置一个用户名和密码文件

问题描述 如何在 android 中设置一个用户名和密码文件 我设置了两个edittext和一个button.我想设置一个特殊的用户名和密码,当我点击按钮时,如果用户名和密码正确,就会打开一个新的intent,否则显示一个toast.我用的下面的代码显示不同的toast,但是没有运行出来,总是显示 ""incorrect"".如何解决这个问题呢? b.setOnClickListener(new OnClickListener() { public void onC

如何在 android 中保存key?

问题描述 如何在 android 中保存key? 有什么方法可以在android中保存key呢?这样即使key已经被root,其他人也不能重新取回.不是shared preferences而是要将key放在安卓中非常保密的地方. 主要是要保存服务器发送里的动态key. 如何在 android 中保存key?

如何在Android中捕获cocos的崩溃信息

问题描述 如何在Android中捕获cocos的崩溃信息 需要手机Android项目中的崩溃信息到文件中,然后上传服务器.我现在知道怎么收集Android的崩溃信息到文件中,也知道如何上传服务器.但是我的项目中有cocos的代码,我怎么能收集到cocos的崩溃信息呢? 我看过http://www.cnblogs.com/lancidie/archive/2013/04/13/3019349.html这里面的内容,想试着做出来,但是在把jni部分的代码粘进去以后,出现了很多错误,代码如下: #in

android-如何在Android中再次发动真正的onCreate

问题描述 如何在Android中再次发动真正的onCreate 如题. 比如,如果我有一个button名为:Restart,我想要在应用再次发动一次真正的onCreate. 解决方案 重新启动所在的activity,这样 Intent intent = getIntent(); overridePendingTransition(0, 0); intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); finish(); startActivity(i

图片加载-如何在android中的ListView实现图片的异步加载?

问题描述 如何在android中的ListView实现图片的异步加载? 想要实现对ListView Item 中图片的加载?各位帮忙怎么实现? 解决方案 我封装了一个异步加载类 开放源码并且提供示例代码 这是地址ImageAsyncLoader 解决方案二: Java代码 package cn.wangmeng.test; import java.io.IOException; import java.io.InputStream; import java.lang.ref.SoftRefere

一如何一次性退出程序-如何在android中一次性退出程序

问题描述 如何在android中一次性退出程序 把所有activity放入集合然后遍历finsh掉比较繁琐有没有依据或者两句就能把打开的所有acrivity 全部杀掉

android-如何在Android中查看intent的请求码和结果码

问题描述 如何在Android中查看intent的请求码和结果码 如何在Android中查看intent的请求码和结果码,最好详细一点,本人是个新手,谢谢大家 解决方案 你输出要logcat上不就能看到了 解决方案二: android中的请求码和结果码Android基础 Intent 请求码和返回码Android中startActivity的使用----请求码与结果码的意义 解决方案三: 你是调用的startActivityForResult么?如果是的话,请求码是你自己设置的,结果码再重写那个