码迷,mamicode.com
首页 > 其他好文 > 详细

cordova 开发属于自己的插件

时间:2014-11-03 20:51:10      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:des   android   style   blog   http   io   color   ar   os   

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

我的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 开发属于自己的插件

标签:des   android   style   blog   http   io   color   ar   os   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!