Page 504 - 3-3
P. 504
// doInBackground() CallBack 이 return 한 값을 인자로 전달 받음
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
// 전달받은 값이 null 일 경우 Toast 메시지를 통해 에러 출력
// 전달받은 값이 null 이 아닐 경우 화면에 Log 정보 출력
if (result == null) {
Toast.makeText(ElevatorLogActivity.this, " 층 정보 로딩 실패.",
Toast.LENGTH_SHORT).show();
} else {
showResult(result);
}
}
}
private void showResult(String jsonString) {
try {
ArrayList<HashMap<String, String>> arrayList = new ArrayList<>();
JSONObject jsonObject = new JSONObject(jsonString);
JSONArray jsonArray = jsonObject.getJSONArray(TAG_JSON);
// Json 으로부터 Parsing 한 Log 의 개수만큼 반복문을 실행하며 ArrayList 에 Log 정보를
추가.
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject item = jsonArray.getJSONObject(i);
String number = item.getString(TAG_NUMBER);
String event = item.getString(TAG_EVENT);
String date = item.getString(TAG_DATE);
HashMap<String, String> hashMap = new HashMap<>();
hashMap.put(TAG_NUMBER, number);
hashMap.put(TAG_EVENT, event);
hashMap.put(TAG_DATE, date);
arrayList.add(hashMap);
}
ListAdapter adapter = new SimpleAdapter(
ElevatorLogActivity.this, arrayList, R.layout.elevator_itemlist,
new String[]{TAG_NUMBER, TAG_EVENT, TAG_DATE},
new int[]{R.id.itemNumber, R.id.itemEvent, R.id.itemDate}
);
listLog.setAdapter(adapter);
} catch (JSONException e) {
- 504 -