Zbudowałem bardzo prostą wtyczkę PhoneGap
, aby rozpocząć testowanie sposobu, w jaki zamierzam tworzyć pewne rodzime działania na Androidzie.Zdobądź zwróconą wartość z wtyczki PhoneGap
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);
}
Java:
@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;
}
Co potrzebne jest sposobem, aby pobrać wynik z działania w tej samej metody. To bardzo skomplikowane, aby zawsze radzić sobie z 3 metodami (1, aby wykonać akcję.) 1, aby zdefiniować, co będzie sukcesem. 1, aby określić, co będzie działaniem błędu.), Kiedy nie kontrolujesz, kiedy są wywoływane, ponieważ PhoneGap
dzwoni do nich po wykonaniu czynności.
Jeśli muszę odzyskać niektóre dane z Android Native bazy danych:
- połączeń w JavaScript z "cordova.exec".
- PhoneGap wywoła Twoją wtyczkę.
- Twoja wtyczka zwróci 2 rzeczy: Boolean dla PhoneGap definiujący to wszystko działało zgodnie z oczekiwaniami lub nie. Dane, które zostaną przekazane do skutecznych metod.
- Oto część trudna dla mnie. Jeśli zakończy się powodzeniem, musisz utworzyć dwie metody, których nie masz kontroli, kiedy zostaną wywołane, ponieważ zdecyduje o tym PhoneGap. Jak mogę to zmienić?
@mafutrct Dzięki za korektę formacie tekstowym! – MBarni
Wszystko należy do @Real, właśnie naprawiłem mały detal – mafu