Cordova開發自定義插件的方法
文章目錄
- Cordova開發自定義插件的方法
- @[TOC](文章目錄)
- 一、自定義插件
- 二、android下的自定義插件開發
- (一)步驟
- 1、建立cordova工程
- 2、建立自定義插件
- (1) 安裝plugman
- (2) 用plugman建立自定義插件Myplug
- (3) 到Myplug目錄,用plugman建立package.json文件
- (4)在myPlug\src目錄下,建立HelloPlugin.java
- 3、自定義插件配置文件
- (1)myPlug.js
- (2)package.json
- (3)plugin.xml
- (二)APP工程中的調用
文章目錄
- Cordova開發自定義插件的方法
- @[TOC](文章目錄)
- 一、自定義插件
- 二、android下的自定義插件開發
- (一)步驟
- 1、建立cordova工程
- 2、建立自定義插件
- (1) 安裝plugman
- (2) 用plugman建立自定義插件Myplug
- (3) 到Myplug目錄,用plugman建立package.json文件
- (4)在myPlug\src目錄下,建立HelloPlugin.java
- 3、自定義插件配置文件
- (1)myPlug.js
- (2)package.json
- (3)plugin.xml
- (二)APP工程中的調用
一、自定義插件
當Cordova 開發跨平臺APP沒有現成插件可用,或者現有插件無法滿足需求時,需要開發自定義插件。
自定義插件針對不同的開發平臺需要用原生開發語言完成開發。例如:android采用java,ios則采用object-c或swift。
以下以android平臺下的自定義插件開發為例,說明開發基本方法和關鍵點。
二、android下的自定義插件開發
(一)步驟
1、建立cordova工程
cordova create myDefinePlug
cd myDefinePlug
cordova platform add android
2、建立自定義插件
進入cmd命令窗口,按如下順序建立初始自定義插件結構:
(1) 安裝plugman
在工程文件夾下,執行:
(2) 用plugman建立自定義插件Myplug
打開查看其目錄結構
(3) 到Myplug目錄,用plugman建立package.json文件
全部按缺省(回車)選擇默認值。
生成的自定義插件目錄結構如下:
(4)在myPlug\src目錄下,建立HelloPlugin.java
該文件就是自定義插件的功能源碼,
例如:定義一個HelloPlugin類,結構如下:
其中:execute中內容為插件要實現的具體功能,其參數分別為:
action:插件定義的函數名
args: 函數參數
callbackContext:回調,callbackContext.error()錯誤回調,callbackContext.success()為成功回調。
3、自定義插件配置文件
建立插件原生開發文件后,相關關鍵配置文件包括:package.json、plugin.xml和myPlug.js。
(1)myPlug.js
其中HelloPlugin.java中的類名、所定義的函數名和函數參數、函數返回值都是在此定義。
(2)package.json
(3)plugin.xml
其中,上圖中:
中定義了插件包括的一個或多個JavaScript文件。
每個JS-module標簽對應一個JavaScript文件,其中:
要注意的是: clobbers:定義了js-module元素標記,用于指定插件插入在window對象的命名空間,提供了在工程文件的應用程序index.js中如何調用自定義插件函數。
例如:這里
那么,在index.js中調用該函數的寫法是:
(二)APP工程中的調用
在cordova工程中,用如下命令可以向工程中添加該自定義插件:
注意:
1、myPlug是工程myT下的子目錄。
2、每次修改該自定義插件的java源文件或配置文件時,要先從工程刪除該插件,再重新添加:
在工程index.js中調用該自定義插件,代碼如下:
附:
1、更多自定義插件開發方法參考官方網址:Android插件開發指南
2、該案例部分源碼來自:《Apache Cordova實戰》,Raymonk K Camden著,清華大學出版社,2018年
3、本文以android自定義插件開發為例描述,ios平臺自定義插件開發查閱官網。