Android:PhoneGap入門
PhoneGap是一能夠讓你用普通的web技術編寫出能夠輕松調用API接口和進入應用商店的HTML5應用開發平臺。是唯一的一個支持7個平臺的開源移動框架。它的優勢是無以倫比的:開發成本低——據估算,至多Native App的五分之一!
- 兼容性:完全做到了Written Once,Run Everywhere!
- 標準化,PhoneGap采用W3C標準,Web App直接運行!
- 用JavaScript+HTM5。和iOS以及android的代碼加XML沒區別!
- 大眾化移動互聯網開發平臺 了解更多
- 輕量級架構,功能卓越的手機應用快速開發平臺
- 精確兼容系統 Andriod iPhone&iPad Symbain WM
- 無成本開發,20%的開發周期,20%的升級維護成本
- 完全不需要手機編程基礎,只要會HTML就能做應用
一、PhoneGap環境配置
1、打開Eclipse,新建一個Android項目。
2、如果沒有/libs目錄,則創建,另外,創建一個/assets/www目錄。
3、從剛才下載的PhoneGap中復制phonegap.js 到/assets/www目錄;
從剛才下載的PhoneGap中復制phonegap.jar 到/libs目錄;
從剛才下載的PhoneGap中復制xml文到夾到/res 目錄。
4、對Eclipse的src文件夾中的主Java文件進行少量調整:
將class的繼承類由Activity 改為DroidGap;
將 setContentView() 這一行替換為super.loadUrl(file:///android_asset/www/index.html);
添加 import com.phonegap.*;
移除import android.app.Activity;
注:
在這里你可能會遇到Eclipse找不到phonegap-1.0.0.jar的錯誤。在這種情況下,右鍵單擊/libs文件夾找到Build Paths/ > Configure Build Paths。然后在Libraries標簽頁中添加phonegap-1.0.0.jar到項目中。如果Eclipse不是很穩定,你需要點擊F5刷新一次項目。
5、給Manifest文件添加說明和權限:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:windowSoftInputMode="adjustPan"
package="org.apache.cordova.example" android:versionName="1.0" android:versionCode="1" android:hardwareAccelerated="true">
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="true"
android:resizeable="true"
android:anyDensity="true"
/>
<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:icon="@drawable/icon" android:label="@string/app_name"
android:hardwareAccelerated="true"
android:debuggable="true">
<activity android:name="example" android:label="@string/app_name"
android:theme="@android:style/Theme.Black.NoTitleBar"
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>
<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="17"/>
</manifest>
二、編寫Hello World代碼
1、在 “/assets/www”目錄中新建文件index.html。
2、index.html的代碼如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="format-detection" content="telephone=no" />
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
<link rel="stylesheet" type="text/css" href="css/index.css" />
<title>Hello World</title>
</head>
<body>
<div class="app">
<h1>Apache Cordova</h1>
<div id="deviceready" class="blink">
<p class="event listening">Connecting to Device</p>
<p class="event received">Device is Ready</p>
</div>
</div>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/index.js"></script>
<script type="text/javascript">
app.initialize();
</script>
</body>
</html>
三、項目完整圖