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
   372   373   374   375   376   377   378   379   380   381   382