안드로이드 개발 팁 블로그

Retrofit2 + okhttp3 + Rxandroid 사용법 본문

Android Tip

Retrofit2 + okhttp3 + Rxandroid 사용법

tiii 2016. 1. 26. 11:11
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.




OkHttp3에서 달라진 쿠키스토어 사용방법은 이후에 작성된 아래 포스트를 참고해 주세요.

http://tiii.tistory.com/13





Retrofit과 OkHttp 는 Square社(https://square.github.io/)에서 만든 오픈라이브러리 입니다. 

Retrofit : REST통신을 위한 클라이언트 라이브러리

OkHttp :  HTTP & HTTP/2 통신 클라이언트 라이브러리

Rxandroid : 안드로이드에서 Observer 패턴, Iterator 패턴을 사용 할 수 있게 하는 라이브러리

이 글을 아래와 같은 디펜던시를 사용합니다.

dependencies

compile 'com.squareup.retrofit2:retrofit:2.0.0-beta3'

compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta3'

compile 'com.squareup.retrofit2:adapter-rxjava:2.0.0-beta3'

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

compile 'com.squareup.okhttp3:okhttp-urlconnection:3.0.1'

compile 'com.squareup.okhttp3:logging-interceptor:3.0.1'

compile 'com.google.code.gson:gson:2.5'


1.interface 만들기

REST API에 맞는 interface 파일을 만듭니다.

본 예제는 REST 통신 후 결과 값을 서버에서 Json Type으로 리턴해주는 것을 기본으로 설명합니다.

AuthModel은 getter, setter로 이루어진 Bean객체입니다. Json의 구조와 동일하게 구현되어 있어야 자동으로 파싱이 가능합니다.

auth.json

1
2
3
4
5
6
7
8
{
  "email""leeyc09@gmail.com",
  "nick_name""하하하하",
  "profile_modified""",
  "profile_thumb""",
  "storage_limit"10737418240,
  "storage_used"71243214
}
cs


AuthModel.java
parcelable 상속은 선택입니다.

2. RestfulAdapter 만들기

위에서 만든 interface를 사용할 수 있도록 Retrofit에 연결합니다.


쿠키관리하기

JavaNetCookieJar를 사용하기 위해서는 디펜던시에 'com.squareup.okhttp3:okhttp-urlconnection:3.0.1'을 추가해야 합니다.

OkHttp3에서 달라진 쿠키스토어 사용방법은 이후에 작성된 아래 포스트를 참고해 주세요.
http://tiii.tistory.com/13




3.API 호출하기

호출이 필요한 method 내에서 아래와 같이 호출 하면 사용 할 수 있습니다.



Comments