Отправка данных JSON из службы в пользовательский интерфейс в Android
Требование: у меня есть фоновая служба, и в этой службе я выполняю вызов REST для получения данных JSON. Я хочу отправить данные JSON в пользовательский интерфейс и обновить содержимое.
Один метод, который я могу использовать, т.е. хранить всю строку JSON в SharedPreferences и извлекать в пользовательском интерфейсе, но я не думаю, что это эффективно.
Есть идеи, ребята? Я добавил обработчик в пользовательском интерфейсе для обновления элементов, но я не настолько знаком с его использованием.
Пример кода вызова REST:
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;
}