Page 377 - 2020학년도 MDP과제발표회 자료집 (통신과) (3)
P. 377
JSONArray jsonArray = new JSONArray(datain); // 소켓에서 받은 JSON
String 을 JSONArray 로 변환
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject json = jsonArray.getJSONObject(i); //JSONArray 의 길이
만큼 JSONObject 를 추출
String bookname = json.getString(BOOK);
String writer = json.getString(WRITER);
String company = json.getString(COMPANY);
HashMap<String, String> hashMap = new HashMap<>();
hashMap.put(BOOK, bookname);
hashMap.put(WRITER, writer);
hashMap.put(COMPANY, company);
Log.e(this.getClass().getName(), i + BOOK + bookname);
Log.e(this.getClass().getName(), i + WRITER + writer);
Log.e(this.getClass().getName(), i + COMPANY + company);
loArrayList.add(hashMap);
}
adapter = new SimpleAdapter(getActivity(), loArrayList,
R.layout.library_location_item,
new String[]{BOOK, WRITER, COMPANY},
new int[]{R.id.jmb_TextView_listitem_bookname,
R.id.jmb_TextView_listitem_writer,
R.id.jmb_TextView_listitem_company});
loListView_list.setAdapter(adapter); //JSONObject 의 값을 각각
미리 만들어둔 ListView 틀에 삽입
} catch (IOException e) {
Log.e(this.getClass().getName(), "catch");
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
}
}
};
final Thread worker = new Thread() { //worker 를 Thread 로 생성
public void run() { // 스레드 실행구문
try {
// 소켓을 생성하고 입출력 스트립을 소켓에 연결한다.
socket = new Socket(IP, PORT); // 소켓생성
out = new PrintWriter(socket.getOutputStream(), true); // 데이터를 전송시
stream 형태로 변환하여
// 전송한다.
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
//System.in)); // 데이터 수신시 stream 을 받아들인다.
인천전자마이스터고등학교
- 393 - 정보통신기기과 393