일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 제약조건레이아웃
- onMeasure
- 초보
- 파이어베이스
- OnDraw
- HTML 기초
- 프로그래밍
- 앱
- REST API
- HTML 문법
- RESTful
- html
- 제약
- view
- Android
- 안드로이드 통신
- Udacity Firebase
- 안드로이드프로그래밍
- udacity
- CustomView
- 안드로이드
- 어플리케이션
- 웹프로그래밍
- firebase
- 네트워크 개념
- retrofit
- gradle
- Retrofit2
- 레이아웃
- 커스텀뷰
- Today
- Total
Polyglot's language & programming story.
Retrofit2) Retrofit2를 사용해서 데이터 통신을 쉽게 해보자. 본문
Retrofit2) Retrofit2를 사용해서 데이터 통신을 쉽게 해보자.
Polyglot 2018. 7. 2. 16:02안녕하세요. 오늘 포스팅 주제는 Retrofit2에 관해서 다뤄보겠습니다.
1.Retrofit이란?
Square사에서 만든 Restful하게 통신을 할 수 있는 오픈 라이브러리입니다.
Retrofit을 사용해서 HTTP 프로토콜을 @(어노테이션)을 이용해서 @GET, @POST, @DELETE 처럼 간단하게 메소드처리가 가능합니다.
또한 custom header 설정과 multipart request body 설정, 파일 다운로드와 업로드 등등 여러 강력한 기능을 제공합니다.
공식 문서 사이트 : http://square.github.io/retrofit/
오늘 포스팅의 목표 : 자신의 github repersitory 목록을 받아와서 리스트뷰에 출력하기!
<제 깃헙 파일 저장소 목록입니다.>
2. Retrofit2 를 사용해보기! (Dependencies 및 permission 설정)
Retroift2는 외부 라이브러리이기 때문에 Dependencies를 설정해주어야됩니다. 또한 통신을 위해서
Manifest.xml에서 permission을 설정해주어야 되지요.
이렇게 사용전에 permission과 dependencies를 설정해줍시다.
참고로 retrofit2는 OkHttp를 네트워크 계층으로 사용하는데. retrofit2를 implement해서 추가하면 자동으로 OkHttp가 추가가 됩니다.
3. GithubAPI 정의하기
<인터페이스 정의 형식>
일단 인터페이스의 이름은 GithubAPI로 정의하고 GET 방식으로 github의 /users/HongyeongJu/repos로 접근해서 GithubRepos의 데이터를 받도록 정의합니다. 이때 HongyeongJu(저의 주소)가 아니라 파라미터로 받아서 대신 그 자리에 넣으려면 다음과 같이 바꿉니다.
{}를 사용해서 파라미터로 받은 변수로 {}괄호 안에 넣을 수가 있습니다. @Path는 메소드의 파라미터 변수는 {user}의 값과 똑같다라는 뜻입니다.
4. GitHubRepo POJO 클래스 정의하기
그럼 값을 받는 GitHubRepo POJO클래스를 정의해봅시다.
6. Cilent 객체만들고 통신하기
8. 전체 코드
참고 블로그
https://medium.com/@henen/빠르게-배우는-안드로이드-24-retrofit-dd16cd803938
https://jongmin92.github.io/2018/01/29/Programming/android-retrofit2-okhttp3/
https://futurestud.io/tutorials/retrofit-getting-started-and-android-client
'Programming > AndroidProgramming' 카테고리의 다른 글
MVP 패턴이란? (0) | 2018.07.04 |
---|---|
Retrofit2) Retrofit2 API 정의 기초 (0) | 2018.07.02 |
BroadcastReceiver 예제 : 핸드폰 끄거나 킬때 음악 소리나게 하기 (0) | 2018.06.21 |
CustomView #4 예제1 (0) | 2018.06.20 |
CustomView #3 자바코드에서 논리적 단위 받아내서 사용하기. (0) | 2018.06.20 |