2. 简单自定义插件

  1. 插件的Java实现:
新建class继承CordovaPlugin
public class TestPlugin extends CordovaPlugin {

    @Override
    public void initialize(CordovaInterface cordova, CordovaWebView webView) {
        super.initialize(cordova, webView);
    }

    //重写execute方法,具体逻辑在此执行
    //是在WEB的线程,在UI线程执行可以用
    //cordova.getActivity().runOnUiThread(new Runnable() {
    @Override
    public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
        Log.e("-TEST", "TEST");
        return super.execute(action, args, callbackContext);
    }
}
  1. 插件的js
cordova.define("cordova-plugin-test.TestPlugin", function(require, exports, module) {

            /*
             * 实现方式一
            */
            var exec = require("cordova/exec");
            module.exports = {
                doTest: function(content){
                   //调用时 插件名需和feature中的name一致 exec(null,null,"TestPlugin","action",[content]);
                },

                doTestWithCallback: function (content, successCallback, errorCallback) {
                    cordova.exec(successCallback, errorCallback, "TestPlugin", "actionWithCallback", [content]);
                }
            }

            /*
             * 实现方式二
            */
    /*        var exec = require('cordova/exec');
            var FXP = function(){};
            FXP.prototype.toast=function(content) {
                exec(null, null, "ToastDemo", "toast", [content]);
            };
            FXP.prototype.toastWithCallback=function(content,success, error) {
                exec(success, error, "ToastDemo", "toastWithCallback", [content]);
            };
            var fxp = new FXP();
            module.exports = fxp;*/

            /*
             * 实现方式三
            */
    /*        var exec = require('cordova/exec');
            exports.toast = function(content) {
                exec(null, null, "ToastDemo", "toast", [content]);
            };
            exports.toastWithCallback=function(content, successCallback, errorCallback){
                exec(successCallback,errorCallback,"ToastDemo","toastWithCallback",[content]);
            };*/

});

  1. 在cordova_plugins.js中注册插件
cordova.define('cordova/plugin_list', function(require, exports, module) {
module.exports = [
    {
     //插件js中的定义
      "id": "cordova-plugin-test.TestPlugin",
      //文件路径
      "file": "plugins/test/test.js",
      "pluginId": "cordova-plugin-test",
      "clobbers": [
        "TestPlugin"
      ]
    }
];
module.exports.metadata = 
// TOP OF METADATA
{
  "cordova-plugin-test": "0.0.1"
};
// BOTTOM OF METADATA
});
  1. 在config.xml中声明插件
    <feature name="TestPlugin">
        <param
            name="android-package"
            //包名+类名
            value="com.jsk.cordovademo.plugin.TestPlugin" />
    </feature>
</widget>
  1. 在html中调用
        function test2(){
            //前缀必须和clobbers中定义的一致
            TestPlugin.doTest("test");
        }
    </script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值