首页 > 其他 > 详细

cordova 开发属于自己的插件

时间:2014-11-03 20:49:50      阅读:312      评论:0      收藏:0      [点我收藏+]

还是需要开发出自己的插件的...

我的cordova  version is 4.0.0 

1.需要新建一个文件夹为 myplugin

1.1在myplugin文件夹下 新建 plugin.xml文件  www文件夹  src文件夹 

1.2 在src文件夹下 新建 Android iOS 文件夹等

如图bubuko.com,布布扣

2. 在Android文件夹下console.java 文件

 1 package cn.debi.cordova;
 2 import org.apache.cordova.CordovaWebView;
 3 import org.apache.cordova.CallbackContext;
 4 import org.apache.cordova.CordovaPlugin;
 5 import org.apache.cordova.CordovaInterface;
 6 import org.json.JSONArray;
 7 import org.json.JSONException;
 8 import org.json.JSONObject;
12 import android.util.Log;
13 public class Console extends CordovaPlugin {
14 
15     public boolean execute(String action, JSONArray args, CallbackContext callbackContext) 
16             throws JSONException {
17          String databack=args.getString(0);
18         final String ACTIVITY_TAG="MyAndroid"; 20         if (action.equals("Consolelog")) {
21             Log.i(ACTIVITY_TAG,databack);
22             callbackContext.success(databack);
23             return true;
24         }
25         return false;
26     }
27 }

3.在www文件夹下新建 console.js文件

 

1 var exec = require(cordova/exec);
2 
3 exports.setConsole = function(messege,success, error) {
4     exec(success, error, "Console", "Consolelog", [messege]); //console 为java的类名,consolelog 为action 的字符串 
5 };

4. 在plugin.xml 

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <plugin id="cn.debi.cordova" version="0.0.1" 
 3         xmlns="http://apache.org/cordova/ns/plugins/1.0"
 4         xmlns:android="http://schemas.android.com/apk/res/android">
 5     <name>Console</name>
 6     <description>Description</description>
 7     <js-module name="Console" src="www/Console.js">
 8         <clobbers target="cordova.plugins.Console"/>
 9     </js-module>
10     <platform name="android">
11         <config-file parent="/*" target="res/xml/config.xml">
12             <feature name="Console">
13                 <param name="android-package" value="cn.debi.cordova.Console"/>
14             </feature>
15         </config-file>
16         <source-file src="src/android/Console.java" target-dir="src/cn/debi/cordova"/>
17     </platform>
18 </plugin>

其中

<plugin id="cn.debi.cordova" version="0.0.1">

</plugin>  中的id 可以随便写 ,它是插件的标识符  ;version 可以随便写

  • description:描述信息 随便写了
  • js-module:对应我们的 javascript 文件,src 属性指向 www/console.js   name 在我们调用js的时候用到
  • platform:支持的平台,这里仅仅用到了 android
  • <param name="android-package" value="cn.debi.cordova.Console"/>  中的cn.debi.cordova 是console.java 的package 包名

6. 使用插件的方法 即调用插件

1     var extraInfo = cordova.require(cn.debi.cordova.Console); 
2     extraInfo.setConsole(cole.log,function(message) {
3          alert(message);
4     }, function(message) {
5          alert(message);
6     });

这里的cordova.require(‘cn.debi.cordova.Console‘)里面的 cn.debi.cordova 就是plugin.xml 中的id ;Console 则是js-module 里面的name 

即调用console.js 导出里面的方法

~  而 extraInfo.setConsole()就是调用导出的方法

7. 忘了要添加插件  了  O(∩_∩)O~~

1 cordova plugin add myplugin  #目录名称,也可以是 git 的地址
1 cordova plugin add  /your/plugin/address/myplugin 

 

cordova 开发属于自己的插件

原文:http://www.cnblogs.com/xieyier/p/4071956.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!