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 -