【问题标题】:How to create and add cordova plugin to project如何创建cordova插件并将其添加到项目中
【发布时间】:2016-05-09 14:09:01
【问题描述】:

我正在为 Android 应用程序开发 Cordova 插件,我阅读了 Oracle 网站上的所有文档,但我不明白如何创建自定义插件并使用它。

1) 我创建了一个 Cordova 项目,其中插入了一个自定义库 (jar),该库允许我使用一些自定义功能。

My cordova project, that contains a custom library 2)现在我必须在cordova中创建一个插件,在我的库中“调用”一个函数,为此我在插件“cordova-plugin-ldm”中创建了一个新文件夹 在两个新文件夹“src/Android/”和“www”内。

在 src/android 我创建了我的 java 文件:

public class MYCLASS extends CordovaPlugin {
  protected void pluginInitialize() {
  }

  public boolean execute(String action, JSONArray args, CallbackContext callbackContext) 
      throws JSONException {
    if (action.equals("alert")) {


        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
        StrictMode.setThreadPolicy(policy);

        TestConnection ts  = new TestConnection();
        JSONObject result = ts.TestNow();

        callbackContext.success(myString);


        //callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK, 0));

      return true;
    }
    return false;
  }
}

在 www 我创建了我的 js:

module.exports = {
    greet: function (name, successCallback, errorCallback) {
        cordova.exec(successCallback, errorCallback, "Hello", "greet", [name]);
    }
};

并在文件“plugin.xml”中:

<?xml version="1.0" encoding="UTF-8"?>
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
        id="com.acme.plugin.alert"
        version="0.0.1">

  <name>LDM Plugin</name>
  <description>A Cordova plugin for LDM</description>

  <engines>
    <engine name="cordova" version=">=3.6.0" />
  </engines>

  <js-module src="www/MYJAVASCRIPT.js" name="MYJAVASCRIPT">
    <clobbers target="MYJAVASCRIPT" />
  </js-module>

  <!-- Android -->
  <platform name="android">
    <config-file target="res/xml/config.xml" parent="/*">
      <feature name="MYNAMEAPP">
        <param name="android-package" value="package.ldm" />
      </feature>
    </config-file>
    <source-file src="src/android/MYCLASS.java" target-dir="src/PACKAGE/ldm/plugin/ldm" />
  </platform>

现在(我不知道它是否正确,是否有效)但是,我如何(自动或手动)添加到我的项目中?

【问题讨论】:

    标签: java android cordova


    【解决方案1】:

    在这里你可以找到一个非常简单的带有参数和回调的插件https://github.com/amitbindal09/cordova-plugin-alert

    【讨论】:

      【解决方案2】:

      据我所知,您必须按照规范创建一个插件文件夹,并确保插件文件夹下的 fetch.json 文件中引用了该插件。然后删除并重新添加平台应该负责在相应文件夹中安装插件。您可以参考任何现有插件来复制相同的文件夹结构。

      cordova official documentation中提供了有关自定义插件创建的详细信息。希望对您有所帮助

      【讨论】:

        【解决方案3】:

        如果插件在您的插件文件夹中,当您添加平台时,插件会自动包含在内。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2014-08-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-09-26
          • 2016-10-11
          相关资源
          最近更新 更多