Ogni richiesta al server può restituire error_code
. Voglio gestire questi errori in un unico luogo quando stavo usando AsyncTask Ho avuto un BaseAsyncTask genereRetrofit e gestione degli errori centralizzata
public abstract class BaseAsyncTask<Params, Progress, Result> extends AsyncTask<Params, Progress, Result> {
protected Context context;
private ProgressDialog progressDialog;
private Result result;
protected BaseAsyncTask(Context context, ProgressDialog progressDialog) {
this.context = context;
this.progressDialog = progressDialog;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected void onPostExecute(Result result) {
super.onPostExecute(result);
HttpResponse<ErrorResponse> response = (HttpResponse<ErrorResponse>) result;
if(response.getData().getErrorCode() != -1) {
handleErrors(response.getData());
}else
onResult(result);
}
private void handleErrors(ErrorResponse errorResponse) {
}
public abstract void onResult(Result result);
}
Ma, usando retrofit ogni richiesta ha il suo errore di richiamata movimentazione:
git.getFeed(user,new Callback<gitmodel>() {
@Override
public void success(gitmodel gitmodel, Response response) {
}
@Override
public void failure(RetrofitError error) {
}
});
}
});
Come posso gestire tutti gli errori in un unico posto?
è possibile creare l'oggetto Richiamata da utilizzare come callback comune. –