第一個PhoneGap(cordova)應用

來源:互聯網
上載者:User

PhoneGap是一套能讓你使用HTML5輕鬆調用本地API介面和發布應用到商店的應用開發平台。官方說有低成本,低開發週期,輕量化等優點,這些咱暫時也沒法證明,略過不表。但是有一條跨平台,卻是很明顯的優勢。因為它採用HTML5+JavaScript的模式來開發應用。PhoneGap用JavaScript統一封裝了幾大平台的本地api(Andriod,IOS,WP8/7,WINRT)等等。。這樣的話從一個平台移植到另外一個平台只需要把HTML代碼跟JS原封不動的拿過去,打包一下就可以了。PhoneGap後來被Adobe收購,然後又貢獻給了開源社區,現在由Apache管理,改名cordova。

為了給昨天的html5畫圖板移植到行動裝置上,我決定採用phoneGap平台,這樣只要編寫一邊就可以多出運行了。

今天先在Andriod下架設phoneGap環境。

1.下載phoneGap

http://phonegap.com/download#autodownload

解壓出來,找到lib/android目錄。

2.在eclipse下建立Andriod項目,這個跟普通項目一樣。

3.在assets目錄下建立檔案夾“www”

把lib/android目錄下的cordova-2.6.0.js複製到這個目錄下。把cordova-2.6.0.jar複製到libs目錄下。

4.在www目錄下建立一個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></head><body><h1>HTML5Paint</h1></body></html>

5.把lib/android目錄下的xml檔案夾整個複製到res面目下

6.修改AndroidManifest.xml添加使用者權限

在<manifest >標籤的內的最前部添加如下代碼

    <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" />

7.修改MainAcivity.java

public class MainActivity extends DroidGap {      @Override        public void onCreate(Bundle savedInstanceState)        {            super.onCreate(savedInstanceState);            super.loadUrl("file:///android_asset/www/index.html");        }}

8.build一下會有錯誤,這是因為前面的cordova-2.6.0.jar沒有添加到buildpath裡面去。添加buildpath。

繼續build就過了。

最後run一下:

 

這樣一個phonegap的Andriod程式就搞定了。明天把昨天的那個HTML5畫板移植過來。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.