我构建了一个非常简单的PhoneGap
插件来开始测试我将在 Android 上构建一些本机操作的方式。
JavaScript:
function callNativePlugin() {
cordova.exec(nativePluginResultHandler, nativePluginErrorHandler, "Database", "saveAdvertencia", [ 1, "TesteAdv" ]);
}
function nativePluginResultHandler(result) {
alert("SUCCESS: \r\n" + result);
}
function nativePluginErrorHandler(error) {
alert("ERROR: \r\n" + error);
}
爪哇:
@Override
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
if (action.equals("saveAdvertencia")) {
advertenciaDS = new AdvertenciaDS(cordova.getActivity());
callbackContext.sendPluginResult(new PluginResult(Status.OK, new JSONArray("test")));
return true;
}
return false;
}
我需要的是一种以相同方法从操作中检索结果的方法。当您无法真正控制何时调用它们时,始终处理 3 种方法(1 执行操作。1 定义成功操作。1 定义错误操作)是非常复杂的,因为PhoneGap
动作完成后调用它们。
如果我需要从 Android Native 数据库中检索一些数据:
- 在 JavaScript 中调用“cordova.exec”。
- PhoneGap 会调用你的插件。
- 您的插件将返回 2 件事:PhoneGap 的布尔值,定义它一切是否按预期工作。将传递给成功方法的数据。
- 这对我来说是棘手的部分。如果成功与否,您必须创建 2 个您无法控制何时调用它们的方法,因为 PhoneGap 将决定这一点。我该如何改变?