JQuery Mobile+cordova構建一個Android項目,jquerycordova
1.安裝Android開發環境 Android開發環境的安裝,現在主要是由於不能訪問Google網站,在windows下在host檔案中添加一個對應的74.125.195.190 dl-ssl.google.com,dl-ssl.google.com對應的ip可能改變。用的時候搜尋最新的IP地址就行了。 然後用eclipse或者myeclipse更新網站資訊:https://dl-ssl.google.com/android/eclipse。 具體教程網上很多,我比較喜歡的是:http://jingyan.baidu.com/article/bea41d437a41b6b4c51be6c1.html2.安裝cordova cordova是一個實現JavaScript和後台通訊(Android的Java)的架構,通過相應的cordova外掛程式,提供給Web前端調用移動平台底層功能API的能力。 cordova通過WebChromeClient攔截js的prompt的內容來實現前端js對後端程式功能的調用。 在最開始的時候,我只是下載了cordova的源碼,把相關java類(喜歡只加入源java類,沒有打成jar包,便於修改)和js加入android工程,但是需要一些系統外掛程式時,會很難處理,只好重新安裝cordova。 1).安裝node.js,去官網上下載安裝後,把安裝路徑加入path 2).安裝npm,如果是最新的node.js已經帶了npm了不用安裝,否則就要安裝一下 3)安裝cordova,這裡一定要注意你的android sdk版本,查看一下是多少,應為預設安裝最新的版本,而最新的版本需要的sdk版本很高,加入的cordova的java原始碼需要的類有很大不同。 a).安裝cordova npm install -g cordova@3.6.0-0.2 b).建立一個cordova工程 cordova create hello com.example.hello HelloWorld c).添加android平台 進入hello工程目錄 cordova platform add android d).將相關內容加入myeclipse hello\platforms\android\CordovaLib的java源類加入src中 hello\platforms\android\assets\www中內容加入assets/www中 hello\platforms\android\res\xml\config.xml中內容加入res/xml中 e).編寫MainActivity public class MainActivity extends CordovaActivity {
@Override
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.loadUrl("file:///android_asset/www/index.html"); } } f).授權 <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-permission android:name="android.permission.SEND_SMS" /> g).啟動程式,就能看見cordova首頁面了3.JQuery Mobile JQuery Mobile是專門為移動平台建立一組UI架構。 特別注意的是,JQuery Mobile是用Ajax的方式載入所有HTML中的標記data-role="page"的DIV元素中,第一個HTML頁面一般都是完全載入,包括 HEAD 和BODY 都會被載入到DOM中,完成後便是連結到的其他頁面內容的載入。 第二個HTML頁面只有 BODY 中的內容會被以Ajax的方式載入到頭一個HTML的 DOM中。 並且第二HTML頁面的 BODY 中的內容也並非全部載入,而僅僅是其中的第一個帶data-role="page"屬性的DIV會被載入進去,其餘的東西則無緣進入頁面渲染 a).下載JQuery Mobile b).將css、js、images裝入android工程4.第一個示範項目5.自訂外掛程式 下面這個外掛程式實現通過一個按鈕結束應用程式。 1).外掛程式定義 public class ExitPlugin extends CordovaPlugin{ private static final String EXIT = "exit"; @Override public boolean execute(String action, JSONArray args, CallbackContext callbackContext) { if (EXIT.equals(action)) { System.exit(0); } return true; } } 2).xml配置 <feature name="Exit"> <param name="android-package" value="com.tomsnail.webtest.ExitPlugin"/> </feature> 3).js定義 var Exit = { exitSystem: function(){ cordova.exec(function(data){ }, function(e){}, "Exit", "exit", [""]); } }; 4).js調用 function exitSystem(){ Exit.exitSystem(); } <a href="javascript:exitSystem();" class="ui-btn">退出</a>