#5-1 Retrofit2

ADD·2021년 7월 23일
0
post-thumbnail

Retrofit2

등장 이후 수 년이 지나서도 최고의 인기를 누리고 있는 네트워킹 라이브러리.
구현은 비교적 복잡하지만, 성능도 우수하고 안정성도 높다.

Retrofit 은 이전에 설명한 OkHttp 를 네트워크 계층으로 활용하고 그 위에 구축되어 있다.
즉, 그 근간이 OkHttp 라는 이야기이다.

이번 예제에서도 https://jsonplaceholder.typicode.com 의 데이터를 활용, JSON 을 하나씩 하나씩 가져와보자.

구현 과정

Retrofit2 는 세가지 구성요소가 필요하다.

• POJO Class
JSON 을 받아서 변환해줄 Data Class.
• Interface
CRUD 기능을 구현한다.
• Retrofit.Builder Class
사실상 본체.

먼저 POJO 클래스. 나는 귀엽게 Candy 로 명명하였다.

인터페이스. GET 방식을 통해 얻어 올 것이며, @Path Annotaion 을 사용하여 id 값을 파라미터로 넣을 수 있도록 구현한다.

baseUrl 은 네이밍 그대로 기본이 되는 Url 을 의미한다. 해당 예제에서는 https://jsonplaceholder.typicode.com/posts/ 에서 자료를 얻어 올 것인데, 먼저 첨부한 ApiService 클래스에서 posts 를 선언했기 때문에, 해당 클래스에서는 posts 를 따로 추가하지 않았다.

이후, JSON 데이터를 Java 에서 활용할 수 있도록 바꾸어주는 GSON Converter 를 추가해준다.
인터페이스를 초기화 및 참조하고 Callback 메소드를 호출한다.

이후는 POJO 클래스 필드의 get 메소드를 활용하여 TextView 에 담아주면 끝.

유의할 점

JSON 형식으로 받아 올 시, DataClass 의 필드명과 JSON 의 키 값이 동일하여야 한다. 단, DataClass 명은 예제와 같이, 달라도 상관이 없다.

Retrofit2 어떤가?

성능이 발군이라고는 하는데, 많은 데이터와 대규모 트래픽을 가진 서비스에서 사용해본 적이 없어서 사실 체감하기는 힘들다. 하지만 좋다고 하니까... 서버 구축능력을 함양하게 된다면 그 때 더 잘 써봐야지.

구동 영상

0개의 댓글