PhoneGap是一可以讓你用普通的web技術編寫出可以輕鬆調用API接口和進入應用商店的HTML5應用開發平臺。是惟一的一個支持7個平臺的開源移動框架。它的優點是無以倫比的:開發成本低——據估算,至多Native App的五分之一! javascript
1、PhoneGap環境配置 css
一、打開Eclipse,新建一個Android項目。 html
二、若是沒有/libs目錄,則建立,另外,建立一個/assets/www目錄。 java
三、從剛纔下載的PhoneGap中複製phonegap.js 到/assets/www目錄; android
從剛纔下載的PhoneGap中複製phonegap.jar 到/libs目錄; web
從剛纔下載的PhoneGap中複製xml文到夾到/res 目錄。 apache
四、對Eclipse的src文件夾中的主Java文件進行少許調整: 編程
將class的繼承類由Activity 改成DroidGap; 架構
將 setContentView() 這一行替換爲super.loadUrl(file:///android_asset/www/index.html); app
添加 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刷新一次項目。
五、給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>
2、編寫Hello World代碼
一、在 「/assets/www」目錄中新建文件index.html。
二、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>
3、項目完整圖