cordova 開發屬於自己的外掛程式

來源:互聯網
上載者:User

標籤: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 可以隨便寫

  • description:描述資訊 隨便寫了
  • js-module:對應我們的 javascript 檔案,src 屬性指向 www/console.js   name 在我們調用js的時候用到
  • platform:支援的平台,這裡僅僅用到了 android
  • <param name="android-package" value="cn.debi.cordova.Console"/>  中的cn.debi.cordova 是console.java 的package 包名

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 開發屬於自己的外掛程式

聯繫我們

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