티스토리 뷰

WEB2.0/프로그래밍

안드로이드 okhttp

나를찾는아이 2017. 11. 10. 12:58
728x90
반응형

저는 최근의 안드로이드 앱 개발시에는 대부분 okhttp를 사용하고 있습니다.


squre에서 만든 오픈소스 http client 입니다.



최근 추세를 보면 android용 http client는


okhttp, volley 둘중에 하나가 많이 쓰이고


어노테이션 활용이 가능한 retrofit까지해서


이 세개가 대부분이더군요.



compile 'com.squareup.okhttp3:okhttp:3.9.0'


간단하게 gradle에 추가해주시면 별다른 추가 설정없이 이용이 가능합니다.



private final OkHttpClient client = new OkHttpClient();


  public void run() throws Exception {

    Request request = new Request.Builder()

        .url("http://publicobject.com/helloworld.txt")

        .build();


    client.newCall(request).enqueue(new Callback() {

      @Override public void onFailure(Call call, IOException e) {

        e.printStackTrace();

      }


      @Override public void onResponse(Call call, Response response) throws IOException {

        try (ResponseBody responseBody = response.body()) {

          if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);


          Headers responseHeaders = response.headers();

          for (int i = 0, size = responseHeaders.size(); i < size; i++) {

            System.out.println(responseHeaders.name(i) + ": " + responseHeaders.value(i));

          }


          System.out.println(responseBody.string());

        }

      }

    });

  }




당연히 동기식과 비동기식을 모두 지원하는데


비동기식이긴하나 이때 받은 callback 메소드에서 ui를 변경하거나 할수는 없기 때문에


별도의 hanlder를 사용하셔야 합니다.


그게 약간 아쉽긴하지만 매우 좋은 라이브러리 입니다.


728x90
반응형

'WEB2.0 > 프로그래밍' 카테고리의 다른 글

뒤늦게 bower 알아보기  (1) 2017.11.13
맥에서 php.ini 설정 변경하기  (0) 2017.11.11
안드로이드 이미지 로드 라이브러리 glide  (0) 2017.10.21
deep link 정리  (0) 2017.10.15
line 앱 url 로 호출하기  (0) 2017.10.14
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함