標籤:
--建立cordova項目 cordova create Myproj com.myproj.test MyTestProj--添加平台及裝置 cd Myproj cordova platform add android cordova platform add ios cordova plugin add org.apache.cordova.device--然後這個時候開啟項目目錄是這個樣子的 config:應用的配置資訊 platforms:應用支援的平台目錄 plugins:安裝的外掛程式目錄 www:web工程目錄 我們開發的外掛程式最終要添加到plugins目錄當中 添加自訂外掛程式,建立ExtendInfo檔案夾,結構如下: ExtendInfo |—src | |—android | |—ExtendInfo.java | |—ios |—www | |—ExtendInfo.js |—plugin.xml src:對應不同平台 www:放我們的javascript plugin.xml:外掛程式設定檔 這裡是plugin.xml
<?xml version="1.0" encoding="utf-8"?><plugin id="com.myproj.test" version="0.0.1" xmlns="http://apache.org/cordova/ns/plugins/1.0" xmlns:android="http://schemas.android.com/apk/res/android"> <name>ExtendInfo</name> <description>Description</description> <js-module name="ExtraInfo" src="www/ExtendInfo.js"> <clobbers target="cordova.plugins.ExtendInfo"/> </js-module> <platform name="android"> <config-file parent="/*" target="res/xml/config.xml"> <feature name="ExtendInfo"> <param name="android-package" value="com.myproj.test.ExtraInfo"/> </feature> </config-file> <source-file src="src/android/ExtendInfo.java" target-dir="src/com/myproj/test"/> </platform></plugin>
其中:
id:外掛程式的標識,即發布到plugins.cordova.io的id name:外掛程式名稱 description:描述 js-module:對應我們的javascript檔案,src屬性指向:www/ExtendInfo.js platform:支援平台。這裡僅有android
<config-file parent="/*" target="res/xml/config.xml"> <feature name="ExtendInfo"> <param name="android-package" value="com.myproj.test.ExtraInfo"/> </feature> </config-file> <source-file src="src/android/ExtendInfo.java" target-dir="src/com/myproj/test"/>
這是外掛程式的配置資訊,最後會添加到android項目的 res/xml/config.xml檔案中,並且將我們的src/android/下的ExtendInfo.java複製到android 項目的package包當中去 ExtendInfo.js內容如下:
var exec = require(‘cordova/exec‘);exports.getExtra = function(success, error) { exec(success, error, "ExtendInfo", "getExtra", []);};
ExtendInfo.java內容如下:
public class ExtendInfo extends CordovaPlugin { @Override public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException { Activity activity = this.cordova.getActivity(); if (action.equals("getExtra")) { Intent i = activity.getIntent(); if (i.hasExtra(Intent.EXTRA_TEXT)) { callbackContext.success(i.getStringExtra(Intent.EXTRA_TEXT)); } else { callbackContext.error(""); } return true; } return false; }}
到這裡,我們的外掛程式就編寫Ok了。通過如下命令添加外掛程式: cordova plugin add ExtendInfo 這樣子我們的外掛程式就添加到項目啦 --使用eclipse開啟項目,我們會發現assets下的目錄不顯示 我們點擊開啟這個txt檔案,按步驟操作就可以顯示啦,並且res/config.xml也可以顯示了。 此時config.xml當中已經添加了我們自訂的外掛程式資訊,如下: 當中的content src=“index.html”指向的就是assets/www/index.html 點擊就可以運行了,具體自訂外掛程式應用看下一篇。
cordova android項目自訂外掛程式及使用(一)