Ich habe eine Reihe von APIs, die mit AsyncTask implementiert werden. Einige von ihnen haben unterschiedliche Signaturen (einige haben Fortschrittsberichte, andere haben unterschiedliche Datentypen, die als Params gesendet werden). Alle diese APIs geben jedoch ein boolesches Ergebnis zurück. Bei Erfolg ist die App Logic für den erfolgreichen Aufruf der API fertig. Bei einem Fehler wird ein generisches Fehler-Popup mit einer Fehlermeldung angezeigt. Nun möchte ich eine Klasse aus AsyncTask so ableiten, dass sie sowohl eine Funktion onSuccessResult implementiert als auch eine Funktion onFailureResult überschreibt.Ableiten async Aufgabe in Android
Bitte beachten Sie, dass ich all dies mit zwei generischen Datentypen Params und Progress tun muss. Wie kann ich das erreichen? Ich möchte das aus zwei Gründen erreichen. Zuerst möchte ich von dieser neuen Klasse wie folgt abzuleiten:
public class getCarDetailAPITask extends ServerAPIAsyncTask<Garage, void, Boolean> {
@Override
protected Boolean doInBackground(Void... params) {
//call my api
}
@Override
protected void onPostExecute(final Boolean success) {
super.onPostExecute(success);
}
@Override
public void onFailureResult() {
super.onFailureResult();
}
@Override
public void onSuccessResult() {
//Do app logic
}
}
Zweitens ist es mir hilft, damit die onFailureResult Logik an einem Ort zu halten, es nicht immer und immer wieder zu wiederholen.
Was ist das Problem genau? Rufen Sie einfach die entsprechende Methode von 'onPostExecute()' abhängig von dem dort empfangenen 'Boolean'-Wert auf. –
@MikeM. : Ich habe die Frage aktualisiert. Bitte gehen Sie es durch. – tinutomson
@ cricket_007: aktualisiert. – tinutomson