Ich versuche, eine gemeinsame Webservice-Klasse zu schreiben, wo in jeder der Aktivitäten innerhalb meiner Anwendung auf diese gemeinsame Klasse für Webservice Zeug zeigen muss. Derzeit bin ich stecken zwischen d. den Erfolg/Misserfolg Nachricht an die aufrufende Klasse, Meine aktuelle Implementierung wie unten passieren soll, Ich habe eine Interface-Klasse, wo in I 2 Methoden,Wie erstellt man eine gemeinsame AsyncTask-Klasse für den Webservice-Aufruf in einer Android App?
public void webServiceReqExecutedSuccessfully();
public void webSerReqFailed();
und jede Webservice calling Klasse implementiert diese Methoden als pro ihre Anforderungen. Und meine gemeinsame WebService-Klasse ist unten wie,
public class WebServiceRequest extends AsyncTask < String, Void, Boolean>
{
private static final MediaType FORM_DATA_TYPE = MediaType.parse("application/x-www-form-urlencoded; charset=utf-8");
public enum HTTPServiceTags {
POST_IT,
GET_ALL_ITEMS
}
HTTPServiceTags requestTag;
public ATWebServiceRequest(HTTPServiceTags reqTag, Callable <Void> _ServiceResponseSuccess, Callable <Void> _ServiceResponseFailure) {
this.requestTag = reqTag;
}
@Override
protected Boolean doInBackground(String...postDataSet) {
Boolean result = true;
String requestURL = postDataSet[0];
String postBody = getPostBody(postDataSet);
Log.d(requestURL, postBody);
try {
OkHttpClient client = new OkHttpClient();
RequestBody body = RequestBody.create(FORM_DATA_TYPE, postBody);
Request request = new Request.Builder().url(requestURL).post(body).build();
Response response = client.newCall(request).execute();
} catch (IOException exception) {
result = false;
}
return result;
}
@Override
protected void onPostExecute(Boolean result) {
if (result) {
switch (requestTag) {
case POST_IT:
//HOW CAN I NOTIFY/INVOKE webServiceReqExecutedSuccessfully METHOD OF THE CALLING CLASS HERE???
break;
case GET_ALL_ITEMS:
break;
default:
break;
}
}
}
}
hier meine Frage nach der Antwort-Service-Aufruf, wie kann ich die Berufung Klasse Interface-Methoden (webServiceReqExecutedSuccessfully()/webSerReqFailed()), von dem Referenzobjekt benachrichtigen/aufrufen ? Jede Hilfe wird im Voraus geschätzt. Danke
Verwenden Interfac e als Rückruf – Rahul