写cordova插件的简单流程

前提

配置好Node.js环境,cordova和ionic 的安装好,android的SDK已经下载好。

写个简单的插件—吐司sayHI

1.打开cmd进入要放插件的目录,创建插件,需要在命令中输入插件名,插件ID和插件版本号。

 plugman create --name CuiPlugin --plugin_id cuiPlugin --plugin_version 0.0.1 

2.创建好的插件目录如下,进入src 创建android 文件夹 并创建一个准备继承 cordovaPlugin 的类,内容可以先放着。
这里写图片描述

3.打开plugin.xml 增加信息
写cordova插件的简单流程_第1张图片


    <platform name="android">
         
        <source-file src="src/android/CuiPlugin.java" target-dir="src/com/hand"/>


        <config-file target="res/xml/config.xml" parent="/*">
            
            <feature name="CuiPlugin">
                
                <param name="android-package" value="com.hand.CuiPlugin"/>
            feature>
        config-file>

       
        <config-file target="AndroidManifest.xml" parent="/*">  
            <uses-permission android:name="android.permission.INTERNET" />
            <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
        config-file> 

    platform>

4.打开www 文件夹下的js文件 修改信息,比如我想在CuiPlugin 这个插件里操作一个action 动作的名字叫“sayHI”,后面跟着参数
写cordova插件的简单流程_第2张图片

5.打开终端
进入需要添加插件的ionic工程路径里,用命令添加刚才创建的插件,后面是插件所在的文件夹路径

ordova plugin add  XXXX/XXX/CuiPlugin

用命令查看是否添加成功

查看是否添加成功
cordova plugin ls

写cordova插件的简单流程_第3张图片

6.用android Studio 打开这个ionic工程(或者直接用文本打开下面要操作的文件),用AS打开为了避免写程序时一些低级的错误
写cordova插件的简单流程_第4张图片

修改继承CordovaPlugin 的这个类CuiPlugin
要重写两个方法 initialize 和 exceute

package  com.hand;
import com.example.cui_library.UI.util;
import org.apache.cordova.CallbackContext;
import org.apache.cordova.CordovaInterface;
import org.apache.cordova.CordovaPlugin;
import org.apache.cordova.CordovaWebView;
import org.json.JSONArray;
import org.json.JSONException;

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

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

      if("sayHI".equals(action)){
      //   ShowToast.showToast(cordova.getActivity(),"HI");
      //   util.showToast(cordova.getActivity(),"HI");
       util.showdailog(cordova.getActivity(),"HI");
         callbackContext.success("success");
         return true;
      }
       callbackContext.error("error");
      return false;
   }
}

在excute 方法重写的里面捕捉我们的操作,“sayHI”,然后在进行操作,注意callbackContent 这个里面有两个方法一个是成功一个是失败,分别对应调用操作两种结果,返回给html 那边的东西。

在HTML中调用这个插件方法
加个按钮,点击时调用我们插件的操作,crodova.plugin.CuiPlugin是plugin.xml 的clobbers标签内的内容。sayHI是CuiPlugin.js 中定义的action。
写cordova插件的简单流程_第5张图片

运行后点击效果成功是 提示个“success”,失败是提示“error”

7.将ionic 工程中的这个继承CordovaPlugin 的CuiPlugin.java类复制到插件目录这个地方替换为有内容的类,替换后别的工程像打这个插件就可以直接打了.不用再写里面内容了,当然也可以在创建这个文件的时候就写好内容,这个看个人喜好,我喜欢先创建个空,后面再AS中把内容写好。

你可能感兴趣的:(cordova)