PhoneGap開發環境搭建(記錄一下,僅僅針對Android)

來源:互聯網
上載者:User

標籤:

1.首先:在安裝phoneGap開發環境之前,需要安裝以下架構

  1.Java SDK (直接下載安裝)  2.Eclipse (建議classic版本)   3.Android SDK   4.ADT Plugin (SDK和Gap安裝完成重啟eclipse)   5.PhoneGap (下載完成直接解壓)2.建立PhoneGap項目  1.建立一個Android project(名字隨意取);
  2.在你建立的目錄下,建立兩個子目錄/libs和/assets/www  3.進入將剛剛下載並解壓的PhoneGap包裡Anroid目錄,我們需要的資源都在這個目錄下。        將phonegap-x.x.x.js這個js檔案(具體名稱視當時下載的版本而定)copy到/assets/www目錄下,        把phonegap.jar檔案copy到/libs目錄下。        再把xml目錄copy到android項目的res目錄下。  4.在/assets/www下建立index.html檔案,內容看起來像這樣: 
<!DOCTYPE HTML> <html>    <head>        <title>PhoneGap</title>        <script type="text/javascript" charset="utf-8" src="phonegap-x.x.x.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" />  

  6.將以下內容添加到AndroidManifest.xml檔案的activity標籤中:

  android:configChanges="orientation|keyboardHidden

  7.AndroidManifest.xml最後看起來會像這樣:      8.在剛剛建立的Android Project中找到libs目錄並在phonegap-x.x.x.jar上點擊右鍵,選擇 Build Path->Add to Build Path        9.最後再修改下src下的Java主檔案:     1添加import com.phonegap.*;     2將類改成繼承為DroidGap;     3刪掉import android.app.Activity;     4把setContentView()這行替換為super.loadUrl("file:///android_asset/www/index.html");     5最後看起來就像這樣:就可以試著運行一下,成功的話會出現Hello World的介面。       3. PhoneGap Plugin    PhoneGap的外掛程式機制其實就是一個android類匯出為jar檔案,然後再被PhoneGap的項目引用,再通過js來調API:    1.建立一個Android Project;    2.開啟Java主檔案,將繼承的類改為Plugin;    3.引入以下類:
    import com.phonegap.api.Plugin;        import com.phonegap.api.PluginResult;    import com.phonegap.api.PluginResult.Status;    

4.重寫父類的execute方法:

    public PluginResult execute(String action, JSONArray data, String callbackId) {        PluginResult pr=null;         if(action.equals("method1")){             pr=new PluginResult(Status.IO_EXCEPTION,"method1");        }else if(action.equals("method2")){             pr=new PluginResult(Status.OK,"method2");        }                     return pr;     }

  其中,第一個參數action可以作為分類調用時的類型,我們就可以用該參數來實現多方法功能。

  返回的PluginResult執行個體可以通過狀態Status類型的控制來描述當前結果的執行狀態。

  最後,代碼看起來可能像這樣:

     

       5.將該類匯出為jar(在類檔案上右鍵->Export->JAR File) 

     6.回到之前建立的PhoneGap項目中,按上面添加jar包的方法再將該jar添加到工程中。

     7.在/res/xml/plugins.xml檔案中添加以下內容:

<plugin name="PluginTest" value="aralork.moblie.plugin.PluginTest"/>name 是你調用時要使用的類名,value是類在jar包中的全路徑

     8.最後再開啟assets/www/index.html檔案,寫入類似於這樣的內容:

 <script type="text/javascript" charset="utf-8" src="phonegap-x.x.x.js"></script>         <script type="text/javascript">            PhoneGap.exec(successCallback, //成功後的回調方法                     failureCallback, //失敗後的回調方法                     ‘PluginTest‘,//剛才配置的類名                     ‘method1‘, //方法名稱,就是之前提到的action參數                     ["/sdcard"]); //sdcard路徑                                 function successCallback(data){                alert("data:"+data);            }                        function failureCallback(data){                alert("error:"+data);            }        </script>

 

PhoneGap開發環境搭建(記錄一下,僅僅針對Android)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.