본문 바로가기
IT 개발/안드로이드개발

안드로이드 HTTP(GET)방식으로 데이터 받기

by 만능이되고픈 잡캐 2018. 10. 26.


안드로이드 HttpURLConnection(GET)방식으로 데이터 받기


안드로이드 HTTP(GET)방식으로 데이터 받기

안녕하세요. 오늘은 안드로이드에서 HttpURLConnection을 통하여 GET전송을 하는 방법을 포스팅하려고 해요.

요즘 너무 바빠서 포스팅이 늦다는..ㅠㅠ

흑....


GET전송은 너무 간단해요. 그냥 받아와야할 URL주소에 connection만 걸어주면 됩니다.





가장먼저, HTTP통신을 사용해야 하기 때문에 INTERNET permission을 허용해 주어야겠죠?

<uses-permission android:name="android.permission.INTERNET"/>


Get전송은 URL에 데이터를 담아서 주는 방식이기 때문에 원하는 주소만 호출해주면 거기서 데이터를 뽑아올 수 있어요.

그리고 통신은 기본적으로 Thread안에서 돌아야 하기 때문에 Thread로 감싸주셔야 해요.

        new Thread(){
            @Override
            public void run() {
                try {
                    URL url = new URL("http://bottlecok.tistory.com/sample.php");
                    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                    connection.setRequestMethod("GET"); //전송방식
                    connection.setDoOutput(true);       //데이터를 쓸 지 설정
                    connection.setDoInput(true);        //데이터를 읽어올지 설정

                    InputStream is = connection.getInputStream();
                    StringBuilder sb = new StringBuilder();
                    BufferedReader br = new BufferedReader(new InputStreamReader(is,"UTF-8"));
                    String result;
                    while((result = br.readLine())!=null){
                        sb.append(result+"\n");
                    }

                    result = sb.toString();

                } catch (MalformedURLException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }.start();