Senden Sie JSON-Daten von einem Dienst an die Benutzeroberfläche in Android

Die Anforderung lautet: Ich habe einen Hintergrunddienst und in diesem Dienst führe ich einen REST-Aufruf aus, um JSON-Daten abzurufen. Ich möchte die JSON-Daten an die Benutzeroberfläche senden und den Inhalt aktualisieren.

Eine Methode, die ich verwenden kann, d. H. Die gesamte JSON-Zeichenfolge in SharedPreferences speichern und in der Benutzeroberfläche abrufen, aber ich halte das nicht für effizient.

Eine Idee, Jungs? Ich habe einen Handler in der Benutzeroberfläche hinzugefügt, um Elemente zu aktualisieren, bin aber nicht so vertraut damit.

Beispiel REST-Aufrufcode:

DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(DATA_URL);

httpPost.setHeader("Content-Type", "application/json");

//passes the results to a string builder/entity
StringEntity se = null;
try {
    se = new StringEntity(RequestJSON.toString());
} catch (UnsupportedEncodingException e) {
    e.printStackTrace();
}

//sets the post request as the resulting string
httpPost.setEntity(se);

//Handles what is returned from the page
ResponseHandler responseHandler = new BasicResponseHandler();

try {
    HttpResponse response = (HttpResponse) httpClient.execute(httpPost, responseHandler);

    // response will have JSON data that I need to update in UI

    //Show notification
    showNotification("Update Complete");



} catch (UnsupportedEncodingException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (ClientProtocolException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} finally {
    // httpClient = null;
}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage