PhoneGap 和 Android 入门
PhoneGap是一个用于开发移动应用程序的免费开源框架。这是创建跨多种设备(包括iOS、Android、Blackberry、Windows等)运行的应用程序的好方法。它通过使用浏览器呈现HTML页面来工作,这意味着您可以仅使用HTML和JavaScript创建应用程序。它还允许您使用简单的API通过JavaScript与手机的元素(如相机和加速度计)进行交互。
我最近开始尝试使用这个系统来创建一个应用程序,因为我有一部Android手机,所以我从创建一个简单的Android应用程序开始。PhoneGap网站有许多入门指南,包括您需要哪些软件才能开始使用。我发现他们在开始使用Android时有点错误。我正在运行OSx,所以这里的说明可能对你不起作用,但它们应该适用于大多数基于*nix的系统。
第一步是为您的系统下载AndroidSDK。该软件包包含AndroidSDK以及已安装Android开发工具(ADT)插件的Eclipse副本。
解压缩下载的文件后,您需要添加一些路径,以便其他应用程序可以看到它。这意味着打开您的.bash_profile文件(如果它不存在则创建它)并将正确的目录添加到系统路径中。您需要确保sdk/platform-tools和sdk/tools目录都已添加。
PATH=$PATH:~/Development/phone/adt-bundle-mac/sdk/platform-tools:~/Development/phone/adt-bundle-mac/sdk/tools
添加后,您需要重新加载.bash_profile文件以激活新规则。这可以通过使用source命令来完成。
source~/.bash_profile
接下来你需要下载PhoneGap并解压。无需为此创建任何路径。
完成后,您将需要使用PhoneGap生成应用程序。如果您打开PhoneGap目录,您将看到一个包含所有可用平台的lib目录。不同的平台以不同的方式构建,我在这篇文章中只专注于Android。
要构建Android应用程序,您需要进入lib/android/bin目录并使用以下参数运行create命令。如果您过去曾在PhoneGap之外创建过Android应用程序,那么您可能熟悉这些选项,因为它们在Eclipse中用于设置新的Android项目。您可以先在Eclipse中创建应用程序,然后手动添加PhoneGap组件,但使用create命令要可靠得多。
新建Android项目的路径。这不应该已经存在,否则PhoneGap将抛出错误并退出。
包名。这应该是com.YourCompany.YourAppName的格式。
项目名称,本质上是应用程序名称。这不能包含任何空格。
例如,我通过以下方式创建了一个简单的Android测试项目:
./create~/Development/phone/philsappcom.hashbangcode.philsappPhilsApp
您下载的AndroidSDK包含一个Eclipse副本,您可以通过导航到该目录并双击Eclipse可执行文件来运行该副本。要打开您创建的应用程序,请转到File>Import并选择ExistingAndroidCodeIntoWorkspace选项。您现在将在Eclipse中看到您的Android/PhoneGap应用程序。该SRC目录包含了PhoneGap的引导和渲染HTML页面和所需的Java代码资产/WWW目录包含了一些示例网页。您可以立即开始更改这些以满足您的需求。
您会注意到,当您打开HTML和JavaScript文件时,它们没有任何语法突出显示。要解决此问题,请转到帮助>安装新软件,然后从Web、XML、JavaEE和OSGi企业开发包列表中安装EclipseWeb开发人员工具和JavaScript开发人员工具。从此对话框顶部的“工作方式”下拉列表中选择“--所有可用站点--”将在列表中显示。
您下载的Eclipse副本包含模拟和部署Android应用程序所需的所有包,但如果您想查看安装了哪些包,请单击AndroidSDK管理器。从此对话框中,您可以安装不同版本的Android,但它目前已准备好与Android4.2一起运行。
加载项目后,您可以模拟手机或直接部署到物理设备以测试您正在开发的应用程序。
要模拟手机,您需要先设置一个虚拟设备。打开Android虚拟设备管理器并使用定义的选项创建设备。创建设备后,您可以单击运行方式...并从设备列表中选择您的虚拟设备。我发现虚拟设备不能很好地运行所有PhoneGap功能,因此我的首选选项是直接从手机运行应用程序。
要部署到手机,您需要在将其插入系统之前启用USB调试(通常位于“设置”>“应用程序”>“开发”中)。插入后,您可以在Eclipse中单击Runas...并部署到手机而不是虚拟设备。
当然,您正在创建的HTML页面只是HTML页面,可以通过普通Web浏览器打开。它将无法执行任何硬件特定元素,例如加速度计或相机,但只要您将浏览器调整为正确的大小,页面的布局就会完美运行。
在Android上使用PhoneGap玩了几个小时并创建了几个简单的应用程序后,我对启动和运行的速度印象深刻。将来我肯定会写更多关于PhoneGap的文章,并将使用它来创建应用程序。我的下一步是创建一个iOS应用程序,但这是另一篇文章的主题。
我应该提到的一件事是,您可能不应该在VirtualBox中使用虚拟机来开发移动应用程序。经过几个小时的USB过滤器、图形驱动程序和虚拟机扩展,我最终放弃了。我确实学到了一些东西,我花了大约20分钟才能使用上述说明在本地运行所有内容。