요구 사항 : 백그라운드 서비스가 있으며 해당 서비스에서 JSON 데이터를 가져 오기 위해 REST 호출을 수행하고 있습니다. JSON 데이터를 UI로 보내고 내용을 업데이트하고 싶습니다.서비스에서 JSON 데이터를 Android에서 UI로 전송
하나의 방법, 즉 JSON 문자열 전체를 SharedPreferences에 저장하고 UI에서 검색 할 수 있지만 효율적이라고 생각하지 않습니다.
아무 생각 없나요? 요소를 업데이트하기 위해 UI에 Handler를 추가했지만 익숙하지 않았습니다.
샘플 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;
}
먼저 코드를 게시하시기 바랍니다! –
REST 호출 코드가 추가되었습니다. –
인 텐트에 대해 알아야합니다. http://developer.android.com/guide/components/intents-filters.html JSON 문자열 또는 매핑 된 객체와 같은 데이터를 첨부 할 수 있습니다. 'Activity'는 그것을 사용할 수 있습니다. 또한 활동을 서비스에 바인딩하고 앱이 열려있을 때 상호 작용할 수 있습니다. – Blacklight