標籤:des android style blog http io color ar os
還是需要開發出自己的外掛程式的...
我的cordova version is 4.0.0
1.需要建立一個檔案夾為 myplugin
1.1在myplugin檔案夾下 建立 plugin.xml檔案 www檔案夾 src檔案夾
1.2 在src檔案夾下 建立 Android iOS 檔案夾等
2. 在Android檔案夾下console.java 檔案
1 package cn.debi.cordova; 2 import org.apache.cordova.CordovaWebView; 3 import org.apache.cordova.CallbackContext; 4 import org.apache.cordova.CordovaPlugin; 5 import org.apache.cordova.CordovaInterface; 6 import org.json.JSONArray; 7 import org.json.JSONException; 8 import org.json.JSONObject;12 import android.util.Log;13 public class Console extends CordovaPlugin {14 15 public boolean execute(String action, JSONArray args, CallbackContext callbackContext) 16 throws JSONException {17 String databack=args.getString(0);18 final String ACTIVITY_TAG="MyAndroid"; 20 if (action.equals("Consolelog")) {21 Log.i(ACTIVITY_TAG,databack);22 callbackContext.success(databack);23 return true;24 }25 return false;26 }27 }
3.在www檔案夾下建立 console.js檔案
1 var exec = require(‘cordova/exec‘);2 3 exports.setConsole = function(messege,success, error) {4 exec(success, error, "Console", "Consolelog", [messege]); //console 為java的類名,consolelog 為action 的字串 5 };
4. 在plugin.xml
1 <?xml version="1.0" encoding="utf-8"?> 2 <plugin id="cn.debi.cordova" version="0.0.1" 3 xmlns="http://apache.org/cordova/ns/plugins/1.0" 4 xmlns:android="http://schemas.android.com/apk/res/android"> 5 <name>Console</name> 6 <description>Description</description> 7 <js-module name="Console" src="www/Console.js"> 8 <clobbers target="cordova.plugins.Console"/> 9 </js-module>10 <platform name="android">11 <config-file parent="/*" target="res/xml/config.xml">12 <feature name="Console">13 <param name="android-package" value="cn.debi.cordova.Console"/>14 </feature>15 </config-file>16 <source-file src="src/android/Console.java" target-dir="src/cn/debi/cordova"/>17 </platform>18 </plugin>
其中
<plugin id="cn.debi.cordova" version="0.0.1">
</plugin> 中的id 可以隨便寫 ,它是外掛程式的標識符 ;version 可以隨便寫
6. 使用外掛程式的方法 即調用外掛程式
1 var extraInfo = cordova.require(‘cn.debi.cordova.Console‘); 2 extraInfo.setConsole(‘cole.log‘,function(message) {3 alert(message);4 }, function(message) {5 alert(message);6 });
這裡的cordova.require(‘cn.debi.cordova.Console‘)裡面的 cn.debi.cordova 就是plugin.xml 中的id ;Console 則是js-module 裡面的name
即調用console.js 匯出裡面的方法
~ 而 extraInfo.setConsole()就是調用匯出的方法
7. 忘了要添加外掛程式 了 O(∩_∩)O~~
1 cordova plugin add myplugin #目錄名稱,也可以是 git 的地址
1 cordova plugin add /your/plugin/address/myplugin
cordova 開發屬於自己的外掛程式