1.Giới thiệu
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 nhiều code như trước . Các tools bên trong 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 co việc reload lại dữ nhiều nhanh hơn. Toàn bộ response được lưu trong memory vậy nên nó không phải là 1 ý tưởng hay cho việc tải về những dữ liệu lớn như music hay movies. Nhưng nó lại là tuyệt với với những loại dữ liệu như JSON, Image, String …
2. Thế mạnh của Volley
Volley cung cấp các lợi ích sau:
- Tự động lập kế hoạch yêu cầu mạng.
- Multiple connection đồng thời.
- Transparent disk và lưu trữ bộ nhớ đệm với tiêu chuẩn gắn kết HTTP cache.
- Hỗ trợ cho các request ưu tiên.
- Hủy yêu cầu API. Bạn có thể hủy bỏ một request duy nhất, hoặc bạn có thể thiết lập phạm vi của request hủy.
- Dễ tùy biến, for example, for retry and backoff.
- Mạnh mẽ và chính xác giao diện UI ủa bạn với dữ liệu lấy đồng bộ từ mạng.
- Debugging và tracing tools.
Với Volley việc giao tiếp với Network được quản lý bởi RequestQueue. Cách tốt nhất để sử dụng RequestQueue và tất cả các tools của nó, đặc biệt là cache là tạo duy nhất một RequestQueue và giữ nó như một Singleton. Tại mỗi thời điểm bạn có thể add hoặc cancel những reqeust , thậm chí stop or start request và truy cập vào cache.
RequestQueue queue = Volley.newRequestQueue(this);
Những Request Class trong Volley là StringRequest , JsonObjectRequest,JsonArrayRequest, ImageLoader. Hầu hết những Request trong Volley đều sử dụng Constructor giống như bên dưới. Các tham số trong Constructor
- RequestMethod: GET, POST, DELETE…
- JSONObject : Một Object tuỳ chọn sẽ được gửi cùng request của bạn.
- ResponseListener : Nơi bạn nhận dữ liệu trả về từ server khi request hoàn thành.
- ErrorListener : Nơi bạn nhận lại những problem bên trong request của bạn từ server. JsonObjectRequest request JsonObjectRequest(Requestmethod, url, null, newResponseListener(), new ErrorListener());
3. Cách sử dụng
Để sử dụng Volley cần thêm dependence vào build.gradle:
dependencies { ... compile 'com.android.volley:volley:1.0.0' }
Tham khảo thêm tại: https://developer.android.com/training/volley/index.html
Hoặc xem thêm tại : https://viblo.asia/HoaLQ/posts/YAQrMJb7M40E