phoneGap-Android開發環境搭建
其中標紅的三個文件夾是我們需要用到的。
c開發環境和開發工具。二.新建一個PhoneGap項目
<!DOCTYPE HTML> <html><head><title>PhoneGap</title><script type="text/javascript" charset="utf-8" src="cordova-2.0.0.js"></script></head><body><h1>Hello World</h1></body></html>
5.將以下權限配置的xml內容copy到AndroidManifest.xml文件中:
<supports-screensandroid:largeScreens="true"android:normalScreens="true"android:smallScreens="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.READ_PHONE_STATE" /><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.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" />
android:configChanges="orientation|keyboardHidden
這是為了保證機器在橫豎屏切換的時候不會重新執行Activity的onCreate方法;
7.AndroidManifest.xml最后看起來會像這樣:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.shawn"android:versionCode="1"android:versionName="1.0"><supports-screensandroid:anyDensity="true"android:largeScreens="true"android:normalScreens="true"android:resizeable="true"android:smallScreens="true"android:xlargeScreens="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" /><uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15" /><application android:label="@string/app_name"android:icon="@drawable/ic_launcher"android:theme="@style/AppTheme"><activityandroid:name="outer"android:configChanges="orientation|keyboardHidden"android:label="@string/app_name" ><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application> </manifest>
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.kenkao"android:versionCode="1"android:versionName="1.0"><supports-screensandroid:largeScreens="true"android:normalScreens="true"android:smallScreens="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.READ_PHONE_STATE" /><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.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" /><application android:icon="@drawable/icon" android:label="@string/app_name"><activity android:name=".MainActivity"android:configChanges="orientation|keyboardHidden"android:label="@string/app_name"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest>
搭建一個java環境??
其中<application>標簽我們可以看做是我們當前的應用,而<activity>代表我們應用內的一個界面,<intent-filter>標簽里我們給當前頁面設置了一個權限
android.intent.action.MAIN表示是最先啟動的的界面;
android.intent.category.LAUNCHER決定應用程序是否顯示在程序列表里;
另外需要注意的是:
<activityandroid:name="outer"android:configChanges="orientation|keyboardHidden"android:label="@string/app_name" >
eclipse環境變量設置?我們的<activity>標簽中有這樣一個類名outer,我們可以自己定義它,一會兒我們會用到這個類名。
8.在剛剛新建的Android Project中找到libs目錄并在cordova-2.0.0.jar上點擊右鍵,選擇?Build Path->Add to Build Path
?
?
package com.example.shawn;import android.os.Bundle; import org.apache.cordova.*;public class outer extends DroidGap {@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);super.loadUrl("file:///android_asset/www/index.html");} }
android developers、?
package com.kenkao;import org.apache.cordova.*;
import android.os.Bundle;public class MainActivity extends DroidGap {/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);super.loadUrl("file:///android_asset/www/index.html");}
}
?
package?com.example.shawn;這句話是干嘛的呢?這是java中常用的,類似于文件的姓氏,看看文件樹就知道了,這是放在文件前面定位用的。
public?class?outer?extends?DroidGap;這里將outer類繼承為DroidGap,同時本文件的文件名也要注意保持一致(outer.java),否則會報錯。
JAVA開發環境、super.loadUrl("file:///android_asset/www/index.html");這句話大家可以理解為加載一個網頁,這個路徑大家很熟悉,就是我們的首頁。透過這句話我們也可以看到phoneGap最根本的東西,就是在原生語言與網頁語言之間架一座橋。
然后就可以在模擬器下試著運行一下這個項目,成功的話會出現Hello World的界面。
?
?
android open source project。ok了,至此為止,phonegap的android開發環境就搭建好了,您可以基于phonegap編寫自己的android應用了!