学习开发Cordova插件 一

参考了网上很多篇关于cordova插件开发的文章,写一篇学习笔记吧。

附上我学习的链接:http://blog.csdn.net/cool_fuwei/article/details/51151759

1.安装好插件后在项目中的目录 如下图,



其中,.java .js .xml  这三个文件是需要我们自己编写的。

2.下面简单的介绍一下这三个文件
a.  plugin.xml 
<plugin xmlns:android="http://schemas.android.com/apk/res/android"
    id="coolPlugin"
    version="0.0.1"
    xmlns="http://apache.org/cordova/ns/plugins/1.0" >
    <!-- id为安装好后显示在项目中的插件名字 -->

    <name>CoolPlugin</name>

    <js-module
        name="CoolPlugin"
        src="www/CoolPlugin.js" >
        <!-- src引用www目录下的该js文件 -->


        <clobbers target="cordova.plugins.CoolPlugin" ></clobbers>
        <!-- clobbers 在js中的调用方式 -->
    </js-module>
    <!-- android -->

    <platform name="android" >

        <config-file
            parent="/*"
            target="res/xml/config.xml" >
            <!-- target 将以下内容在该目录下注册 -->

            <feature name="ShowToast" >
                <!-- feature 是后面方法里的一个传参 -->
                <param
                    name="android-package"
                    value="com.cool.toast.ShowToast" >
                </param>
            </feature>
        </config-file>

        <!-- src文件目录 dir安装后所在目录 -->
        <source-file
            src="src/android/ShowToast.java"
            target-dir="src/com/cool/toast" >
        </source-file>
        
        <!-- 一些插件所需的权限在这里声明并最终写入AndroidManifest.xml -->
        <config-file
            parent="/*"
            target="AndroidManifest.xml" >
            <uses-permission android:name="android.permission.READ_PHONE_STATE" ></uses-permission>
        </config-file>
    </platform>
</plugin>


b.    CoolPlugin.js 
<!--require 用于引入我们的类,expors用于导出我们的方法.这里暴露了toast方法,供我们在app中调用-- >
<!--ShowToast是plugin.xml中注册的feature-->
<!--toast 是传入java文件的action-->
<!--arg0是自己定义的参数以jsonArray的形式进行传递-->
var exec = require('cordova/exec');  

exports.toast = function(arg0, success, error) {  
    exec(success, error, "ShowToast", "toast", [arg0]);  
};  


c.  showToast.java
package com.cool.toast;
 
import android.widget.Toast;  
  
import org.apache.cordova.CallbackContext;  
import org.apache.cordova.CordovaPlugin;  
import org.json.JSONArray;  
import org.json.JSONException;  
<!--继承了CordovaPlugin重写execute,根据传入的action和args执行代码并返回一个回调方法 -->
public class ShowToast extends CordovaPlugin{  
  private CallbackContext mCallbackContext;  
  @Override  
  public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {  
    this.mCallbackContext = callbackContext;  
    if("toast".equals(action)){  
      String msg = args.getString(0);  
      Toast.makeText(cordova.getActivity(),msg,Toast.LENGTH_SHORT).show();  
      callbackContext.success("success");  
      return true;  
    }  
    mCallbackContext.error("error");  
    return false;  
  }  
} 


3. 安装完成后在项目中这样调用
$scope.submit = function() {
    cordova.plugins.CoolPlugin.toast('吐司',function(msg){
      alert(msg);
    },function(msg){
      alert(msg);
    })
};

最终会Toast一个土司!


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值