Page 304 - 3-3
P. 304

class GetDataJSON extends AsyncTask<String, Void, String> {


                          @Override
                          // 백그라운드 스레드로 처리하기 위한 메서드(String...              은 가변인수)
                          protected String doInBackground(String... params) {


                              // 매개변수로 불러온 url      을 저장
                              String uri = params[0];


                              //BufferedReader  객체 생성 초기값.       = null
                              BufferedReader bufferedReader = null;
                              // 예외 처리
                              try {
                                  //URL  객체로 uri   문자열을 넘기기
                                  URL url = new URL(uri);
                                  // 웹 주소에 연결
                                  HttpURLConnection con = (HttpURLConnection) url.openConnection();
                                  // 문자열을 받아올 StringBuild      객체 생성
                                  StringBuilder sb = new StringBuilder();


                                  //InputStream  생성
                                  bufferedReader            =           new            BufferedReader(new
            InputStreamReader(con.getInputStream()));


                                  //StringBuilder 로 받아온 문자열을 저장하는 변수
                                  String json;
                                  // 받아온 문자열이 null     이 아닐때 반복
                                  while ((json = bufferedReader.readLine()) != null) {
                                      // 문자열 줄바꿈문자 받아오기+
                                      sb.append(json + "\n");
                                  }


                                  // 공백을 제거하고 출력하기
                                  return sb.toString().trim();
                              }
                              // 예외 발생시
                              catch (Exception e) {
                                  //null  출력
                                  return null;
                              }
                          }


                          @Override
                          // 스레드 작업이 끝나면 동작
                          protected void onPostExecute(String result) {


                                                        - 304 -
   299   300   301   302   303   304   305   306   307   308   309