Cordova開發自定義插件的方法

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 開發跨平臺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平臺自定義插件開發查閱官網。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/81763.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/81763.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/81763.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【libm】2整數接口(int_traits.rs)

一、源碼 int_traits.rs文件定義了兩個核心 trait MinInt 和 Int,為整數類型提供統一的抽象接口,并通過宏為所有原生整數類型(i8 ~ i128/u8 ~ u128)實現這些 trait。 use core::{cmp, fmt, ops};/// Minimal integer implementa…

WebSocket實戰經驗

WebSocket實戰經驗詳解 WebSocket基礎概念 #mermaid-svg-sdkZP4UrWBpk2Hco {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-sdkZP4UrWBpk2Hco .error-icon{fill:#552222;}#mermaid-svg-sdkZP4UrWBpk2Hco .error-tex…

【C/C++】MQTT

文章目錄 MQTT 協議1 基本概念2 核心特性3 核心組件4 C 簡易實現(基于 Paho MQTT 庫)環境準備示例代碼 不同mqtt對比關鍵差異說明 MQTT 協議 1 基本概念 MQTT(Message Queuing Telemetry Transport)是一種輕量級的發布/訂閱模式…

《Java 高并發程序設計》筆記

💡 根據 遺忘曲線:如果沒有記錄和回顧,6天后便會忘記75%的內容 讀書筆記正是幫助你記錄和回顧的工具,不必拘泥于形式,其核心是:記錄、翻看、思考 ::: 書名Java 高并發程序設計作者葛一鳴、郭超狀態已讀完簡…

Fine Structure-Aware Sampling(AAAI 2024)論文筆記和啟發

文章目錄 本文解決的問題本文提出的方法以及啟發 本文解決的問題 傳統的基于Pifu的人體三維重建一般通過采樣來進行學習。一般選擇的采樣方法是空間采樣,具體是在surface的表面隨機位移進行樣本的生成。這里的采樣是同時要在XYZ三個方向上進行。所以這導致了一個問…

【AI面試準備】性能測試與AI模型結合應用指南

面試題: 性能測試:AI模型預測系統瓶頸(如LoadRunnerAI模塊)。 性能測試與AI模型預測系統瓶頸的結合是當前軟件工程和運維領域的重要趨勢,能夠顯著提升系統優化效率和問題預測能力。以下從核心概念、技術實現、快速掌握…

Spring MVC 與 FreeMarker 整合

以下是 Spring MVC 與 FreeMarker 整合的詳細步驟&#xff0c;包含配置和代碼示例&#xff1a; 1. 添加依賴 在 pom.xml 中引入 Spring MVC 和 FreeMarker 的依賴&#xff08;以 Maven 為例&#xff09;&#xff1a; <!-- Spring Web MVC --> <dependency><gr…

Redis分布式鎖使用以及對接支付寶,paypal,strip跨境支付

本章重點在于如何使用redis的分布式鎖來鎖定庫存。減少超賣&#xff0c;同時也對接了支付寶&#xff0c;paypal&#xff0c;strip跨境支付 第一步先建立一個商品表 CREATE TABLE sys_product (id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 主鍵,code varchar(60) DEFAUL…

使用frpc鏈接內網的mysql

以下是配置 frpc 連接內網 MySQL 服務的詳細步驟&#xff1a; 1. 準備工作 frps 服務器&#xff1a;已部署在公網 IP 11.117.11.245&#xff0c;假設 frps 的默認端口為 7000。 內網 MySQL 服務&#xff1a;運行在內網機器的 3306 端口。 目標&#xff1a;通過公網 IP 11.117…

2025信息安全網絡安全意識培訓資料匯編(24份)

最新整理&#xff1a;2025信息安全網絡安全意識培訓資料匯編&#xff0c;共24份資料&#xff0c;供學習參考。 互聯網信息安全意識培訓.pptx100個網絡安全風險防范知識.pptx亞信信息安全意識培訓.pptx網絡安全法規及意識培訓.pptx網絡安全意識與案例分析.pptx綠盟-安全意識培訓…

JAVA:使用 XStream 實現對象與XML轉換的技術指南

1、簡述 XStream 是一個簡單便捷的 Java 庫,用于對象與 XML 的相互轉換。其主要特點是: 易于使用:無需復雜的配置即可直接使用。支持自定義:可以靈活地定制對象的序列化和反序列化規則。強大的功能:支持注解、自定義轉換器等。本文將詳細介紹 XStream 的基本使用方法,并…

VITA STANDARDS LIST,VITA 標準清單下載

VITA STANDARDS LIST&#xff0c;VITA 標準清單下載 DesignationTitleAbstractStatusVMEbus Handbook, 4th EditionA users guide to the VME, VME64 and VME64x bus specifications - features over 70 product photos and over 160 circuit diagrams, tables and graphs. The…

Assetto Corsa 神力科莎 [DLC 解鎖] [Steam] [Windows]

Assetto Corsa 神力科莎 [DLC 解鎖] [Steam] [Windows] 需要有游戲正版基礎本體&#xff0c;安裝路徑不能帶有中文&#xff0c;或其它非常規拉丁字符&#xff1b; DLC 版本 至最新全部 DLC 后續可能無法及時更新文章&#xff0c;具體最新版本見下載文件說明 DLC 解鎖列表&…

【Java idea配置】

IntelliJ IDEA創建類時自動生成注釋 /** * program: ${PROJECT_NAME} * * since: jdk1.8 * * description: ${description} * * author: ${USER} * * create: ${YEAR}-${MONTH}-${DAY} ${HOUR}:${MINUTE} **/自動導入和自動移除無用導入 idea彩色日志不生效 調試日志輸出 在…

計算方法實驗六 數值積分

【實驗性質】綜合性實驗。 【實驗目的】理解插值型積分法&#xff1b;掌握復化積分法算法。 【實驗內容】 1對 &#xff0c;用復化梯形積分和變步長梯形積分求值&#xff08;截斷誤差不超過&#xff09;。 【理論基礎】 積分在工程中有重要的應用&#xff0c;數值積分…

Webug4.0靶場通關筆記11- 第15關任意文件下載與第16關MySQL配置文件下載

目錄 一、文件下載 二、第15關 任意文件下載 1.打開靶場 2.源碼分析 3.滲透實戰 三、第16關 MySQL配置文件下載 1.打開靶場 2.源碼分析 3.滲透實戰 &#xff08;1&#xff09;Windows系統 &#xff08;2&#xff09;Linux系統 四、滲透防御 一、文件下載 本文通過…

小土堆pytorch--tensorboard的使用

小土堆pytorch--tensorboard的使用 小土堆pytorch--tensorboard的使用0.介紹1.使用tensorboard繪制 y x 等簡單函數1.1 相應的代碼1.2 對上述代碼的解釋1.3 可能遇到的問題1.3.1 問題1.3.2 解決方法 2.使用tensorboard加載數據集中的圖片2.1 相應代碼2.2 對上述代碼的解釋2.2.…

大模型(LLMs)RAG 版面分析——文本分塊面

大模型&#xff08;LLMs&#xff09;RAG 版面分析——文本分塊面 一、為什么需要對文本分塊&#xff1f; 二、能不能介紹一下常見的文本分塊方法&#xff1f; 2.1 一般的文本分塊方法 2.2 正則拆分的文本分塊方法 2.3 Spacy Text Splitter 方法 2.4 基于 langchain 的 Cha…

解構區塊鏈身份認證:從ID到零知識證明的實戰指南

引言 在數字經濟高速發展的今天&#xff0c;數字身份已成為個人與數字世界交互的核心憑證。傳統中心化身份系統存在數據孤島、隱私泄露、單點故障等痛點&#xff0c;而區塊鏈技術憑借??去中心化、不可篡改、可追溯??的特性&#xff0c;為數字身份驗證提供了革命性解決方案…

c#數據結構 線性表篇 非常用線性集合總結

本人能力有限,使用了一些Ai的結論,如有不足還請斧正 目錄 1.HashSet <> Dictionary 2.SortedSet <>提供升序方法的List 3.ArrayList<>List 4.BitArray <> Bit[] array 5.StringCollection <>List 6.StringDictionary<>Dictionary 1…