Thứ Ba, 20 tháng 12, 2016

AsyncTask, Volley, Retrofit.

1. Async Task 

  • AsyncTask là một lớp trừu tượng được cung cấp bởi Android, giúp chúng ta sử dụng các thread UI đúng. Lớp này cho phép chúng tôi thực hiện các hoạt động dài / nền và hiển thị kết quả của nó trên thread UI mà không cần phải thao tác đề.
  • AsyncTask có bốn bước:
    • doInBackground: Mã thực hiện hoạt động dài chạy đi trong phương pháp này. Khi phương thức onClick được thực thi trên nhấp nút, nó gọi phương thức mà chấp nhận các thông số thực hiện và tự động gọi phương thức doInBackground với các thông số thông qua.
    • onPostExecute: Phương thức này được gọi là phương thức sau doInBackground hoàn thành xử lý. Kết quả từ doInBackground được truyền cho phương thức này.
    • onPreExecute: Phương thức này được gọi là trước khi phương thức doInBackground được gọi.
    • onProgressUpdate: Phương thức này được gọi bằng cách gọi publishProgress bất cứ lúc nào từ doInBackground gọi phương thức này.
    Các nhiệm vụ có thể được hủy bỏ bằng cách gọi hủy bỏ (boolean) phương thức. Điều này sẽ gây ra các cuộc gọi tiếp theo để isCancelled () để trở về đúng.
    Sau khi gọi phương pháp này, onCancelled (Object) phương thức được gọi là thay vì onPostExecute () sau khi doInBackground () trả về.

 2. Volley

Volley là một thư viện mạng( library network) được Google giới thiệu năm 2013 để quản lý các request Network và lưu trữ những response trên các ứng dụng Android mà 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 (luồng xử lý dữ liệu) 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. Nó đặc biện hữu dụng với những dữ liệu như JSON, Image, String,… Nhưng lại không phải là ý tưởng tốt cho việc sử dụng với các dữ liệu lớn như music hay movies.

           Những class request có trong thư viện Volley này bao gồm : jsonObjectRequest, jsonArrayRequest,                  StringRequest, ImageLoader kết với các constructor đi kèm như : POST, GET, DELETE, PUT, COPY,              …

      3. Retrofit

  • Retrofit là một Rest Client (Tìm hiểu thêm về chuẩn RESTFul dưới link tham khảo) cho Android và Java và được tạo ra bởi Square. Họ làm cho việc nhận và tải lên JSON (hoặc dữ liệu khác) một cách khá dễ dàng tới một WebService dựa trên mô hình REST.
  • Các gói trang bị thêm cho phép sử dụng các bộ chuyển đổi sau đây:
    • Gson: com.squareup.retrofit:converter-gson
    • Jackson: com.squareup.retrofit:converter-jackson
    • Moshi: com.squareup.retrofit:converter-moshi
    • Protobuf: com.squareup.retrofit:converter-protobuf
    • Wire: com.squareup.retrofit:converter-wire
    • Simple XML: com.squareup.retrofit:converter-simplexml
  • Để làm việc với Retrofit bạn cần triển khai cơ bản 3 lớp:
    • Model class to map JSON Data
    • Interfaces để định nghĩa các API cho Webservice
    • Retrofit.Builder Lớp để định nghĩa URL Endpoint cho các hoạt động liên quan tới Http
  • Một số lý do nên Retrofit cho Networking:
    • Performance tốt.
    • Dễ sử dụng.
    • Dùng chung được với RxAndroid.

So Sánh tốc độ bằng sử dụng viết ứng dụng mô phỏng kết quả cho được

Không có nhận xét nào:

Đăng nhận xét