我需要怎么做才能为Android中的移动应用程序编程设置phonegap?

最后发布: 2014-03-12 01:02:40


问题

我从一个教程的eclipse中编写了一个移动浏览器,我想将phonegap用于具有html / css / javascript本机功能的移动应用。 与jquery一样吗? 我是否只需要在我的主要javascript文件或html文件中加载主要的phonegap库。

我知道这是一个愚蠢的问题,但是我不确定,因为我看到了很多javascript文件。 我找到了主要的phonegap库文件。 这是我需要加载到主js文件中的所有文件才能拥有正常工作的应用程序吗?

javascript android eclipse mobile cordova
回答

您需要使用cordova.exec API才能在javascript代码和android活动之间进行通信。 也许此链接可以为您提供帮助。

http://public.dhe.ibm.com/software/mobile-solutions/worklight/docs/v610/06_05_Android_-_Adding_native_functionality_to_hybrid_application_with_Apache_Cordova_plugin.pdf

首先,您需要在config.xml中声明您的自定义插件

<feature name="CustomPlugin">
      <param name="android-package" value="com.AndroidApacheCordovaPlugin.CustomPlugin" />
</feature>

使用Java代码实现插件

public class CustomPlugin extends CordovaPlugin {

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

        if (action.equals("sayHello")){
            try {
                String responseText = "Hello world, " + args.getString(0);
                callbackContext.success(responseText);
            } catch (JSONException e){
                callbackContext.error("Failed to parse parameters");
            }
            return true;
        }

        return false;
    }
}

从JavaScript调用插件

function initial(){
    var name = $("#NameInput").val();
    cordova.exec(sayHelloSuccess, sayHelloFailure, "CustomPlugin", "sayHello", [name]);
}

function sayHelloSuccess(data){
    alert("OK: " + data);
}

function sayHelloFailure(data){
    alert("FAIL: " + data);
}