Page 287 - 3-3
P. 287

}


                    // 데이터 불러오기 메서드 매개변수(            url  문자열)
                    public void getData(String url) {
                        // 백그라운드 스레드를 사용하기 위한 클래스 생성
                        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;
                                }


                                                          - 287 -
   282   283   284   285   286   287   288   289   290   291   292