Cordova自定义插件开发
Cordova自定义插件开发
一、创建Cordova项目
在创建项目前请确保安装Cordova
Cordova环境配置:https://www.w3cschool.cn/cordova/cordova_environment_setup.html
在即将创建的Cordova项目存放目录打开命令窗口,输入创建命令
cordova create CordovaProject io.cordova.hellocordova CordovaApp
CordovaProject 是创建应用程序的目录名称。
io.cordova.hellocordova 是默认的反向域值。 如果可能,您应该使用您自己的域值。
CordovaApp 是您应用的标题。
本人命令行工具使用的git bash,Cordova项目创建在D盘下:
DELL@DESKTOP-8M3VQSF MINGW64 /d
$ cordova create CordovaProjectPlugins com.kcsm.acsa ACSA
二、安装依赖plugman
plugman是用于安装和卸载用于Apache Cordova项目的插件的命令行工具。
https://www.npmjs.com/package/plugman
进入项目目录,安装plugman
$ cd /d/CordovaProjectPlugins
$ npm install -g plugman
三、创建插件
定义一个最简单的Toast插件
1、插件创建
plugman create --name [插件名] --plugin_id [插件id] --plugin_version [插件版本]
为了方便管理,将插件创建在 Cordova 项目目录下的 plugins 文件夹下
注意起名,不要和原生方法冲突了。
$ cd plugins DELL@DESKTOP-8M3VQSF MINGW64 /d/CordovaProjectPlugins/plugins
$ plugman create --name ToastDemo --plugin_id cordova-plugin-toastdemo --plugin_version 1.0.0
如图

2、插件配置
进入插件目录,添加插件支持的平台环境
$ cd ToastDemo
$ plugman platform add --platform_name android
$ plugman platform add --platform_name ios
添加之后将在ToastDemo目录下产生android和ios两个目录,此处只定义android环境的ToastDemo
生成的文件内容如图所示

其中,ToastDemo 目录下的 plugin.xml 文件将添加如下内容

修改 plugin.xml 文件内容如下图

修改 ToastDemo.js 文件

修改 ToastDemo.java 文件

3、初始化插件
进入插件目录
DELL@DESKTOP-8M3VQSF MINGW64 /d/CordovaProjectPlugins/plugins/ToastDemo
$ npm init
提示的时候可以直接回车,使用默认值直到结束,将创建一个 package.json 文件

四、插件使用
给 Cordova 项目添加 android 环境
进入 Cordova 项目目录
$ cd /d/CordovaProjectPlugins/
$ cordova platform add android --save
安装插件
$ cordova plugin add /d/CordovaProjectPlugins/plugins/ToastDemo
js调用
ToastDemo.showToast(“这是Toast内容”);
Cordova自定义插件开发的更多相关文章
- cordova自定义插件开发流程
cordova自定义插件开发:1.cordova安装:npm install -g cordova2.plugman安装:npm install -g plugman3.cordova创建工程:cor ...
- ionic2踩坑之自定义插件开发及调用
关于ionic2自定义插件开发的文章,插件怎么调用的文章,好像网上都有,不过作为一个新手来说,从插件的开发到某个页面怎么调用,没有一个完整的过程的话,两篇没有关联的文章也容易看的迷糊.这里放到一起来方 ...
- Cordova WP8 插件开发
原文:Cordova WP8 插件开发 前面博客中介绍了Cordova WP8平台上的安装部署,Cordova扩展可以利用WP8本地代码扩展WebApp的功能,调用本地能力需要开发相应的插件,下面以闪 ...
- Cordova与现有框架的结合,Cordova插件使用教程,Cordova自定义插件,框架集成Cordova,将Cordova集成到现有框架中
一.框架集成cordova 将cordova集成到现有框架中 一般cordova工程是通过CMD命令来创建一个工程并添加Android.ios等平台,这样的创建方式可以完整的下载开发过程中所需要的的插 ...
- Cordova自定义插件
项目原因需要自定义Cordova插件,下面把实现过程记录以便将来查阅.工程为Eclipse下的Android工程,该工程已经引入Cordova.Cordova版本4.0.2.1.定义插件类OpenAp ...
- cordova自定义插件的创建过程
最近学习了cordova插件,记录一下大概的过程,仅供参考. 前期的配置就不记录了网上好多. 在简书上从新写了一个更详细的cordova插件教程,有需要的可以点这里进去看看. 第一步 创建一个cord ...
- cordova 自定义 plugin
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/qq_30879415/article/details/81265455准备工作安装cordovanp ...
- ionic2/cordova自定义插件集成aar包
一.准备自定义插件 1. 准备:安装plugman npm install -g plugman 2. 新建组件 plugman create --name MyPlugin --plugin_id ...
- 自定义 Cordova插件(基础篇)
cordova自定义插件 注意:存放自定义cordova插件目录不能有空格可能会报错 cordova的安装 下载node.js,安装完成后你可以在命令行中使用node和npm. 安装cordova使用 ...
随机推荐
- sql 获取本周周一和周日
版本1.0(获取周日存在问题,请勿使用,仅用于引以为戒) 存在问题,获取周日的时候,当当前时间正好是周日,会获取下一周的周日,而非本周周日. ,)),) ),, ,)),) 版本2.0 看到版本1.0 ...
- mysql删除某一个数据库中所有的表
SELECT concat('DROP TABLE IF EXISTS ', table_name, ';') FROM information_schema.tables WHERE table_s ...
- EasyNetQ使用(九)【非泛型的发布&订阅扩展方法,发生错误的情况 】
自从EasyNetQ第一个版本开始,它就可以发布/订阅特定类型的消息. bus.Subscribe<MyMessage>("subscriptionId", x =&g ...
- .Net Core 精选公众号集合(保持更新)
dotNET跨平台 <dotNET跨平台>是国内首个以.NET程序员.技术文化.新闻为主题的公众号,拥有约5万读者.在这里你可以谈微软.NET,Mono的跨平台开发技术,也可以谈谈其他的跨 ...
- C#6.0-8.0新功能、ValueTuple
C# 6.0: https://www.cnblogs.com/yinrq/p/5600530.html C# 7.0: https://www.cnblogs.com/cncc/p/7698543. ...
- 最新 海看java校招面经 (含整理过的面试题大全)
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.海看等10家互联网公司的校招Offer,因为某些自身原因最终选择了海看.6.7月主要是做系统复习.项目复盘.LeetCode ...
- 最新 思贝克java校招面经 (含整理过的面试题大全)
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.思贝克等10家互联网公司的校招Offer,因为某些自身原因最终选择了思贝克.6.7月主要是做系统复习.项目复盘.LeetCo ...
- Redis set集合的使用
集合中的元素个数最多为2的32次方-1个,集合中的元素师没有顺序的. Redis集合的操作命令和对应的api如下: smembers [set]JedisAPI:public Set<Strin ...
- Zookeeper学习之Watcher事件类型和ZK状态
1.Zookeepe Watcherr的事件类型和ZK状态. zookeeper:Watcher.ZK状态,事件类型(一)zookeeper有watch事件,是一次性触发的,当watch监视的数据发 ...
- uwp,GridView、ListView取消选中效果
在SelectionChanged事件中,添加两行代码,取消点击Item后的选中效果 void GridViewSelectionChanged(object sender, SelectionCha ...
