cordova android項目自訂外掛程式及使用(一)

來源:互聯網
上載者:User

標籤:

 --建立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項目自訂外掛程式及使用(一)

聯繫我們

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