PhoneGap是一套能讓你使用HTML5輕松調(diào)用本地API接口和發(fā)布應(yīng)用到商店的應(yīng)用開(kāi)發(fā)平臺(tái)。官方說(shuō)有低成本,低開(kāi)發(fā)周期,輕量化等優(yōu)點(diǎn),這些咱暫時(shí)也沒(méi)法證明,略過(guò)不表。但是有一條跨平臺(tái),卻是很明顯的優(yōu)勢(shì)。因?yàn)樗捎肏TML5+JavaScript的模式來(lái)開(kāi)發(fā)應(yīng)用。PhoneGap用JavaScript統(tǒng)一封裝了幾大平臺(tái)的本地api(Andriod,IOS,WP8/7,WINRT)等等。。這樣的話從一個(gè)平臺(tái)移植到另外一個(gè)平臺(tái)只需要把HTML代碼跟JS原封不動(dòng)的拿過(guò)去,打包一下就可以了。PhoneGap后來(lái)被Adobe收購(gòu),然后又貢獻(xiàn)給了開(kāi)源社區(qū),現(xiàn)在由Apache管理,改名cordova。
為了給昨天的html5畫(huà)圖板移植到移動(dòng)設(shè)備上,我決定采用phoneGap平臺(tái),這樣只要編寫(xiě)一邊就可以多出運(yùn)行了。
今天先在Andriod下架設(shè)phoneGap環(huán)境。
1.下載phoneGap
http://phonegap.com/download/#autodownload
解壓出來(lái),找到lib/android目錄。
2.在eclipse下新建Andriod項(xiàng)目,這個(gè)跟普通項(xiàng)目一樣。
3.在assets目錄下新建文件夾“www”
把lib/android目錄下的cordova-2.6.0.js復(fù)制到這個(gè)目錄下。把cordova-2.6.0.jar復(fù)制到libs目錄下。
4.在www目錄下新建一個(gè)html文件index.html。我們的界面就要在這里建立了。
index的代碼如下:
<!doctype html>
<html>
<head>
<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" />
<title>HTML5Paint</title>
<script type="text/javascript" src="cordova-2.6.0.js" charset="utf-8"></script>
<script type="text/javascript">
alert("HELLO CORDOVA");
</script></p><p></head>
<body></p><p><h1>HTML5Paint</h1>
</body>
</html>
5.把lib/android目錄下的xml文件夾整個(gè)復(fù)制到res面目下
6.修改AndroidManifest.xml添加用戶權(quán)限
在<manifest >標(biāo)簽的內(nèi)的最前部添加如下代碼
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="true"
android:resizeable="true"
android:anyDensity="true"
/></p><p> <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" />
7.修改MainAcivity.java
public class MainActivity extends DroidGap {</p><p> @Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
super.loadUrl("file:///android_asset/www/index.html");
}</p><p>}
8.build一下會(huì)有錯(cuò)誤,這是因?yàn)榍懊娴腸ordova-2.6.0.jar沒(méi)有添加到buildpath里面去。添加buildpath。
繼續(xù)build就過(guò)了。
最后run一下:
這樣一個(gè)phonegap的Andriod程序就搞定了。明天把昨天的那個(gè)HTML5畫(huà)板移植過(guò)來(lái)。