Android

Android Networking: Volley Library

phần trước chúng ta đã cùng tìm hiểu về AsyncTask và cách gửi một request đến Web Service, vậy tại sao Google lại giới thiệu cho chúng ta một Networking Library là Volley? Chúng ta sẽ cùng nhau tìm hiểu về thư viện Volley trong Android.

Giới thiệu

Volley được Google giới thiệu vào khoảng tháng 6/2013. Volley là một Networking Library để quản lý các Request Network và lưu trữ những Response không cần các Developer viết quá nhiều code. Volley cho phép cùng một lúc thưc hiện nhiều Request trên các thread khác nhau với các mức độ ưu tiên (priority) khác nhau.

Tất cả request được thực hiện và lưu trữ trong bộ nhớ cache giúp cho việc reload lại dữ liệu nhanh hơn.

Toàn bộ Response được lưu trong Memory vậy nên cần cân nhắc kĩ nếu muốn sử dụng Volley để tải các dữ liệu lớn như Movies, Photos,…

Tính năng

Volley có các điểm nổi bật dưới đây:

  • Tự động lập lịch (scheduling) cho các request.
  • Caching Response.
  • Hỗ trợ set độ ưu tiên cho các request (priority).
  • Hỗ trợ nhiều kết quả trả về (String, JSONObject, JSONArray, Bitmap…)
  • Có thể huỷ Request.

Sử dụng Volley trong Android

Trước tiên chúng ta phải import thư viện này vào Android Studio. Copy và paste dòng dưới đây vào dependencies trong file build.gradle của module app:

implementation ‘com.android.volley:volley:1.1.1’

Sau khi import thư viện Volley vào project cũng như cấp quyền INTERNET để ứng dụng có thể gọi ra Internet, chúng ta cần tạo 1 interface để callback dữ liệu về Activity/Fragment khi Volley thực hiện xong 1 request.

Tiếp theo, chúng ta cần viết 1 class quản lý tất cả các API sử dụng trong app(Ở đây mình viết 1 class Singleton)

Okie, tiếp tục tạo 1 function mẫu dùng để gọi các GET method(Có thể viết thêm các method POST, DELETE, COPY,…tùy trường hợp sử dụng)

Viết tiếp 1 class thực thi function vừa tạo – truyền vào endpoint cần request

Nãy giờ là khởi tạo, giờ là lúc đem ra dùng rồi >”<


Sau khi nhận data về, các bạn có thể xử lý dữ liệu và hiển thị lên view – thường thì ở bước này mình dùng tiếp Gson để parse json về dạng Objects. Còn bạn nào có cách nào hay hơn thì comment để mình update với nhé! Chứ đừng chửi mình cùi bắp tội nghiệp mình :V

Okie, vậy là chúng ta đã hoàn thành việc set up Volley vào 1 project android để thực hiện việc gửi/nhận dữ liệu ra bên ngoài internet.

Ở phần tiếp theo, mình sẽ giới thiệu đến các bạn thư viện Retrofit, thư viện này rất hay mà mình đã dùng 3-4 project rồi. Ngoài ra, các bạn có thể tham khảo demo của phần này tại đây

Được gắn thẻ , , ,

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *