【发布时间】: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>
现在(我不知道它是否正确,是否有效)但是,我如何(自动或手动)添加到我的项目中?
【问题讨论】: