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.mzph.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…