phonegap
使用PhoneGap进行Android开发可以在Windows,OS X或Linux上完成
步骤1:设定Android工具
步骤2:下载并安装PhoneGap
- 访问PhoneGap下载页面 ,然后单击橙色的下载链接以开始下载过程。
- 将存档解压缩到本地文件系统中,以备后用。
现在您可以在Eclipse中为Android创建第一个PhoneGap项目。
步骤3:在Eclipse中创建项目
请按照以下步骤在Eclipse中创建一个新的Android项目:
- 选择“新建”>“ Android项目”
- 在“应用程序信息”屏幕上,输入您的主Android应用程序的软件包名称。这应该是一个逻辑上代表您的软件包结构的名称空间; 例如com.yourcompany.yourproject 。
- 在工作区中创建新项目,然后单击下一步。
- 配置启动图标和背景
- 建立活动
配置项目以使用PhoneGap
至此,Eclipse已经创建了一个空的Android项目。 但是,它尚未配置为使用PhoneGap。 接下来,您将要做。
- 在新的Android项目中创建一个asset / www目录和一个libs目录。 PhoneGap应用程序界面的所有HTML和JavaScript都将驻留在asset / www文件夹中
要将PhoneGap所需的文件复制到项目中,请首先找到下载PhoneGap的目录,然后导航到lib / android子目录
- 将cordova-2.7.0.js复制到Android项目中的asset / www目录。
- 将cordova-2.7.0.jar复制到Android项目中的libs目录。
- 将xml目录复制到Android项目中的res目录中
- 接下来,在assets / www文件夹中创建一个名为index.html的文件。 该文件将用作PhoneGap应用程序界面的主要入口点。
- 在index.html中,添加以下HTML代码以用作用户界面开发的起点:
<!DOCTYPE HTML>
<html>
<head>
<title>PhoneGap</title>
<script type="text/javascript" charset="utf-8" src="cordova-2.7.0.js"></script>
</head>
<body>
<h1>Hello PhoneGap</h1>
</body>
</html>
- 您将需要将cordova-2.7.0.jar库添加到Android项目的构建路径。 右键单击cordova-2.7.0.jar,然后选择构建路径>添加到构建路径
更新活动类
现在,您准备好更新Android项目以开始使用PhoneGap。
- 打开您的主应用程序活动文件。 它将位于此过程前面指定的项目包中的src文件夹下。
对于我命名为HelloPhoneGap的项目,主要的Android Activity文件名为MainActivity.java ,位于文件com.maanavan.hellophonegap中 ,该文件是在“新建Android项目”对话框中指定的。
- 在主活动类中,为
org.apache.cordova.DroidGap
添加一个导入语句:
import org.apache.cordova.DroidGap;
- 将基类从
Activity
更改为DroidGap
; 这是在extends
的类定义中
public class MainActivity extends DroidGap
- 用引用替换对
setContentView()
的调用,以从先前创建的本地资产/www/index.html文件中加载PhoneGap接口
super.loadUrl(Config.getStartUrl());
注意:在PhoneGap项目中,您可以使用URL参考文件:/// android_asset引用资产目录中的文件 ,后跟文件的路径名。 file:/// android_asset URI映射到资产目录。
配置项目元数据
现在,您已将Android项目中的文件配置为使用PhoneGap。 最后一步是配置项目元数据以使PhoneGap能够运行。
- 首先在项目根目录中打开AndroidManifest.xml文件。 右键单击AndroidManifest.xml文件并选择“打开方式”>“文本编辑器”,以使用Eclipse文本编辑器。
<supports-screens android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:resizeable="true"
android:anyDensity="true"
/>
supports-screen
XML节点标识您的应用程序支持的屏幕尺寸。 您可以通过更改此条目的内容来更改屏幕和外形尺寸支持。 要了解有关<supports-screens>,
更多信息<supports-screens>,
请访问support-screen元素上的Android开发者主题 。
接下来,您需要配置PhoneGap应用程序的权限。
复制以下<uses-permission>
XML节点,并将其作为根<manifest>
节点的子代粘贴到AndroidManifest.xml文件中:
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.RECORD_VIDEO"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<uses-permission>
XML值标识要为应用程序启用的功能。 上面的行启用了PhoneGap的所有功能所需的所有权限。 构建应用程序后,您可能希望删除所有实际上未使用的权限; 这将删除应用程序安装期间的安全警告。 要了解有关Android权限和<uses-permission>
元素的更多信息,请访问uses-permission元素上的Android开发人员主题。 。
配置应用程序权限后,需要修改现有的<activity>
节点。
- 找到
<activity>
节点,该节点是<application>
XML节点的子级。 将以下属性添加到<activity>
节点:
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale">
Android Manifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.maanavan.hellophonegap"
android:versionCode="1"
android:versionName="1.0"
> <supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="true"
android:resizeable="true"
android:anyDensity="true"
/>
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.RECORD_VIDEO"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.maanavan.hellophonegap.MainActivity"
android:label="@string/app_name" >
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
此时,您的项目已配置为作为Android的PhoneGap项目运行。 如果遇到任何问题,请对照Android的PhoneGap入门网站上提供的示例验证您的配置。
运行应用程序
要在Android模拟器中启动PhoneGap应用程序,请右键单击项目根目录,然后选择运行方式> Android应用程序
如果您未设置任何Android虚拟设备,系统将提示您配置一个。 要了解有关配置Android模拟器虚拟设备的更多信息
Eclipse将自动启动一个Android模拟器实例(如果尚未运行),将您的应用程序部署到该模拟器,然后启动该应用程序
翻译自: https://www.javacodegeeks.com/2013/06/getting-started-with-phonegap-in-eclipse-for-android.html
phonegap