Я не могу понять, как получить данные с JAVA на javascript, чтобы я мог обновить интерфейс с помощью Cordova на Android. вот две кнопки, поскольку они нажаты, они увеличивают счетчик позиции, который я хочу вернуть в пользовательский интерфейс, и обновить экран, но не могу понять, как его вернуть.Cordova PhoneGap Android Callback с данными
Я думал, что могу просто добавить switchPos в обратный вызов, но, похоже, он не забирает его нигде в javascript, я планировал записать значение в пользовательский интерфейс с инструкцией «.innerHTML =».
Это плагин javascript.
cordova.define(‘myplugin', function (require, exports, module) {
module.exports = {
switch1: function (success, failure) {
cordova.exec(success, failure, “MyPlugin", “switch1”, []);
},
switch2: function (success, failure) {
cordova.exec(success, failure, “MyPlugin", “switch2”, []);
}
};
});
Это javascript который вызывает их.
var myplugin = cordova.require('myplugin');
var myapp = {
appButton1: function(){
myplugin.switch1();
},
appButton2: function(){
myplugin.switch2();
}
};
Вот код JAVA для плагина.
public class MyPlugin extends CordovaPlugin {
// actions
private static final String SWITCH1 = “switch”1;
private static final String SWITCH2 = “switch”2;
// callbacks
private CallbackContext connectCallback;
// Switch Counters
public static int switchPos1 = 1;
public static int switchPos2 = 1;
@Override
public boolean execute(String action, CordovaArgs args, CallbackContext callbackContext) throws JSONException {
boolean validAction = true;
if (action.equals(SWITCH1)) {
Log.d("Valid Action = SWITCH1 Pos: “ + switchPos1);
switchPos1++;
callbackContext.success(switchPos1);
} else if (action.equals(SWITCH2)) {
Log.d("Valid Action = SWITCH2 Pos: “ + switchPos2);
switchPos2++;
callbackContext.success(switchPos2);
} else {
validAction = false;
}
return validAction;
}
}