Android cordova自定义插件的开发

目前网上有很多开发cordova插件的方法,我下面简单的说下cordova一些命令的使用,以及我的自定义插件的开发。cordova主要是一种交互的应用,他是用web来调用原生的androi、ios、windows等平台的代码。

自定义插件的过程:

前提一定要去安装node.js和cordova这两个软件。下面命令是通过nodejs的npm命令执行的。

一、创建cordova项目

cordova create hello com.example.hello helloworld

创建后会出现一个helloworld文件夹,添加安卓平台

cordova platform add android

安装plugman插件

npm install -g plugman

二、创建插件

plugman create –name <plugmanName> --plugin _id<pluginID> --plugin_ version <version> [ --path<directory> ][ --variableNAME=value ]
  • plugmanName : 插件名字
  • pluginID : 插件ID
  • version : 0.0.1
  • directory : 一个绝对或相对路径的目录,该目录将创建插件项目
  • variableNAME=VALUE: 额外的描述,如作者信息和相关描述
  • egg:plugman create --name dspread_pos_plugin --plugin_id posPlugin --plugin_version 1.0.0 --variableNAME=qianmeng

添加android目录的文件
plugman platform add --platform_name android

三、创建package.json文件

plugman createpackagejson (json文件里面包含如下信息:)


生成自定义插件之后形成如下图


其中src下面是android文件夹--和java文件
www下面是js文件
plugin.xml是配置文件


其中plugin id="posPlugin” 是该plugin的id。后面有version的版本。
添加安卓平台后,出现如下属性:

被添加到cordova创建的安卓项目下后,就会在config.xml文件下多出feature这个属性。

添加权限


添加新的java问价和一些第三方的库

其中src是指文件在该目录下的路径,后面的target-dir是被加载调用的工程下的目标路径。

当然还可以添加一些drawable和layout以及so文件
<source-file src="src/android/libs/armeabi/liba01jni.so" target-dir="libs/armeabi" />
  <source-file src="src/android/anim/progressanmi.xml" target-dir="res/anim" />
<source-file src="src/android/drawable-hdpi/pgsbar5.png" target-dir="res/drawable-hdpi" />
<source-file src="src/android/layout/pin_dialog.xml" target-dir="res/layout" />

其中js文件主要是调用的一些js方法,java文件是写原生代码的,让js文件的方法去调用。


上面的方法前两个参数分别是成功或者失败的方法。第三个参数是填feature-name,第四个参数是action,是给java文件调用时用的。

java文件如下:


将插件给cordova创建的工程后,cordova plugin add plugin-path
主要看3个文件,分别是js,java和index.html文件


Tip:

查看cordova的plugin列表,可以用cordova plugin list
删除plugin,用cordova plugin rm cordova-name

要想更新cordova的版本,需要先卸载,再安装。才能返回原版本。
npm install -g [email protected]
这是规定安装特定版本的cordova。

 

目前已经创建了一个完整的cordova插件

后续还会再更新!!!会有涉及到插件的使用以及html和安卓原生代码的交互。需要关注的朋友有问题可以留言哦。