2018-09-08-23-38

一 、 安装Cordova 开发环境  //用npm 命令全局安装 cordova,

npm install -g cordova

二、创建Cordova自定义插件

//plugman create --name 创建名称 --plugin_id 插件ID --plugin_version 插件版本号

plugman create --name ToastPlugin --plugin_id cordova-plugin-toast --plugin_version 0.1.2

在cordova项目目录下执行以上上命令,之后你的目录下多了一个ToastPlugin文件夹,

这时需要在src目录下创建android文件夹,并且在android目录下创建ToastPlugin.java类

或者用命令创建:plugman platform add --platform_name android

修改config.xml配置文件如下:


2018-09-08-23-38_第1张图片


2、ToastPlugin.java修改:

package org.apache.cordova.toast;

import org.apache.cordova.CallbackContext;

import org.apache.cordova.CordovaArgs;

import org.apache.cordova.CordovaPlugin;

import android.widget.Toast;

import org.json.JSONArray;

import org.json.JSONException;

public class ToastPluginextends CordovaPlugin {

@Override public boolean execute(String action, String rawArgs, CallbackContext callbackContext)  throws JSONException {

return super.execute(action, rawArgs, callbackContext); }

@Override public boolean execute(String action, JSONArray args, CallbackContext callbackContext)throws JSONException {return super.execute(action, args, callbackContext); }

@Override public boolean execute(String action, CordovaArgs args, CallbackContext callbackContext)throws JSONException {if (action.equals("showToast")) {switch (args.getInt(1)) {case Toast.LENGTH_SHORT: Toast.makeText(cordova.getActivity(), args.getString(0), Toast.LENGTH_SHORT).show(); break; case Toast.LENGTH_LONG: Toast.makeText(cordova.getActivity(), args.getString(0), Toast.LENGTH_LONG).show(); break; default:break; }return true; }return false; }}

3、ToastPlugin.js修改:

var exec = require('cordova/exec');/** * ToastPlugin :是plugin.xml中配置的feature的nema * showToast: 是js中调用的方法名 */exports.showToast =function(arg0, success, error) { exec(success,error,"ToastPlugin","showToast", [arg0]);};

4、通过npm创建Mudule:

进入插件目录在控制台输入:

npm init


2018-09-08-23-38_第2张图片

操作完成后插件目录会生成一个package.json文件。

还需要对package.json进行Cordova信息进行补全:

{"name":"ToastPlugin","version":"0.1.2","description":"这是一个Cordova的Toast插件","cordova": {"id":"cordova-plugin-toast","platforms": ["android" ] },"main":"index.js","scripts": {"test":"echo \"Error: no test specified\" && exit 1" },"author":"BoBo","license":"ISC"}

三、将插件添加到工程中

进入Android平台的目录:platforms/android

执行命令:cordova plugin add C: /Users/BoBo/Documents/ToastPlugin



四、js调用自定义插件

cordova.plugins.ToastPlugin.coolMethod("参数", function (msg) { alert(msg);}, function (e) { alert(e);});


cordova.plugins.ToastPlugin对应plugin.xml文件中clobbers的target值。


五、备注

查看已安装的插件:cordova plugin ls

删除插件:cordova plugin rm cordova.plugin.ToastPlugin

你可能感兴趣的:(2018-09-08-23-38)