Tìm hiểu Retrofit trong Android

Retrofit là gì? Retrofit trong Android là một type-safe HTTP client cho Android và Java được phát triển bởi Square. Thư viện Retrofit cung cấp một khuôn khổ mạnh mẽ để xác thực, tương tác với các API và gửi yêu cầu mạng với OkHttp.

1. Giới thiệu Retrofit trong Android

– Thư viện Retrofit làm cho việc gởi và nhận dữ liệu JSON hoặc XML dễ dàng và đơn giản, dữ liệu sẽ được phân tách thành Plain Old Java Object (POJO).

Tìm hiểu Retrofit trong Android

Retrofit – A type-safe REST client for Android and Java.

– Đối với Retrofit 2 hỗ trợ khá nhiều nhiều trình phân tích cú pháp khác nhau để xử lý dữ liệu bao gồm như Gson, Jackson, Moshi… Cụ thể được trình bày ở bảng dưới đây:

Bộ chuyển đổiThư viện
Gsoncom.squareup.retrofit2:converter-gson:2.1.0
Jacksoncom.squareup.retrofit2:converter-jackson:2.1.0
Moshicom.squareup.retrofit2:converter-moshi:2.1.0
Protobufcom.squareup.retrofit2:converter-protobuf:2.1.0
Wirecom.squareup.retrofit2:converter-wire:2.1.0
Simple XMLcom.squareup.retrofit2:converter-simplexml:2.1.0
Scalarscom.squareup.retrofit2:converter-scalars

2. Khởi tạo Retrofit trong Android

– Retrofit thực hiện gởi và nhận các yêu cầu HTTP đến các API đang chạy trên một máy chủ ở đâu đó trên Internet, và vì thế trong ứng dụng của bạn cần phải có quyền truy cập mạng, đảm bảo yêu cầu quyền truy cập Internet trong tệp AndroidManifest.xml của ứng dụng:

– Thêm thư viện vào tập tin build.gradle trong phần dependencies như sau:

– Nếu như bạn muốn sử dụng RxJava với Retrofit 2 thì cần phải thêm thư viện RxJava vào ứng dụng trong tập tin build.gradle như sau:

– Để gửi yêu cầu mạng tới một API, chúng ta cần phải sử dụng lớp Retrofit.Builder và chỉ định đường dẫn URL trong phương thức baseUrl().

Với Retrofit 2 bạn cần sử dụng các chú thích để định nghĩa các yêu cầu HTTP, các tham số truy vấn và kiểu giá trị trả về. Thêm nữa nó còn cung cấp cho việc tùy chỉnh tiêu đề (custom headers), tải lên hoặc tải xuống tập tin…

Lưu ý: Giá trị trả về luôn luôn là một tham với đối tượng Call<T> chẳng hạn như Call<Person>.

– Retrofit biến API HTTP thành một Java interface, mỗi Call đã tạo có thể tạo ra một yêu cầu HTTP theo cơ chế đồng bộ hoặc không đồng bộ tới máy chủ từ xa. Mỗi phương thức phải có chú thích HTTP bao gồm GET, POST, PUT, DELETE và HEAD.

– Sử dụng các phương thức theo chuẩn RESTful thì GET, POST, PUT, DELETE và HEAD cụ thể thường được sử dụng trong các trường hợp như sau:

HTTPMô tả
POSTThường được sử dụng để tạo (Create) dữ liệu mới.
GETThường được sử dụng để lấy (Read) dữ liệu về.
PUTThường được sử dụng để cập nhật (Update) dữ liệu.
DELETEThường được sử dụng để xóa (Delete) dữ liệu.
HEADThường được sử dụng để lấy phần header mà không có phần body.

Dưới dây là một số ví dụ:

 

Lời kết: Như vậy ở bài trước bạn đã tìm hiểu RecyclerView trong Android thì trong nội dung bài viết này bạn lại học được cách sử dụng RecyclerView thông qua một ví dụ cụ thể mà mình đã vừa trình bày. Ngoài ra bạn có thể xem thêm nhiều bài viết khác trong chủ đề lập trình Android tại Tutorials To Learn.

(Tác giả: Tutorials To Learn)

3 thoughts on “Tìm hiểu Retrofit trong Android

  1. Cảm ơn bài viết bạn đã chia sẻ,

    Mình có đề nghị là bạn có thể so sánh giữa Retrofit và Volley được không, nên sử dụng thư viện nào?

Bình luận