Phonegap调用本地代码的流程是什么?

拉风的道长 发布于 2014/11/19 10:45
阅读 431
收藏 0

采用Phonegap开发的时候,如果需要调用本地代码,那么:

1.创建js,然后调用类似于cordova.exec(success,fail, "插件名", action,[args])这样的方式。

2.本地java代码,继承CordovaPlugin,实现插件的功能。
 @Override
    public boolean execute(String action, JSONArray args, CallbackContext callbackContext)

js触发时,会调用插件里面的这个方法。然后在这里面做功能的实现。

现在问题来了:

从cordova.exec 到本地的execute,这一段路是怎么连接起来的?我看了半天源码,也没找到这一条路。很是郁闷。

求大神帮忙解答一下!

加载中
0
hao123.com
hao123.com
你可以找一个插件,研究一下插件的调用流程,会更容易看懂。
拉风的道长
拉风的道长
我在看源码。。还是看的云里雾里
0
Liberxue
Liberxue
<span style="font-size: 14px;">package org.apache.cordova.plugin;  
  
import org.apache.cordova.api.CordovaPlugin;  
import org.apache.cordova.api.PluginResult;  
import org.json.JSONArray;  
import org.json.JSONException;  
import org.json.JSONObject;  
  
/** 
 * This class echoes a string called from JavaScript. 
 */  
public class Echo extends CordovaPlugin {  
    @Override  
    public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {  
        if (action.equals("echo")) {  
            String message = args.getString(0);   
            this.echo(message, callbackContext);  
            return true;  
        }  
        return false;  
    }  
  
    private void echo(String message, CallbackContext callbackContext) {  
        if (message != null && message.length() > 0) {   
            callbackContext.success(message);  
        } else {  
            callbackContext.error("Expected one non-empty string argument.");  
        }  
    }  
}</span>  




http://www.cnblogs.com/zhwl/archive/2013/07/11/3184324.html


http://cordova.apache.org/docs/en/3.4.0/guide_platforms_ios_plugin.md.html

返回顶部
顶部