Thông tin: Học Lập Trình Android - Thiết Lập Request Queue

Thảo luận trong 'Học tập' bởi HoitruongS4, 20/2/2019.

  1. HoitruongS4

    HoitruongS4 Thành viên tập sự

    Tham gia:
    14/8/2018
    Bài viết:
    15
    Đã được thích:
    0
    Điểm thành tích:
    1
    Bài học lập trình Android trước cho bạn thấy cách sử dụng phương pháp tiện lợi Volley. newRequestQueue để thiết lập RequestQueue, tận dụng các hành vi mặc định của Volley.

    Bài học này hướng dẫn bạn qua các bước rõ ràng để tạo một RequestQueue, để cho phép bạn cung cấp hành vi tùy chỉnh của riêng bạn.

    Bài học học lập trình Android này cũng mô tả thực tiễn được đề xuất là tạo RequestQueue một singleton, giúp RequestQueue kéo dài thời gian sử dụng ứng dụng của bạn.

    [​IMG]

    Thiết lập mạng và bộ đệm

    A RequestQueue cần hai thứ để thực hiện công việc của mình: một mạng để thực hiện vận chuyển các yêu cầu và bộ đệm để xử lý bộ đệm.

    >> Học lập trình Android chuyên nghiệp tại NIIT - ICT Hà Nội <<​

    Có các triển khai tiêu chuẩn có sẵn trong hộp công cụ Volley: DiskBasedCache cung cấp bộ đệm một tệp cho mỗi phản hồi với chỉ mục trong bộ nhớ và BasicNetwork cung cấp vận chuyển mạng dựa trên ứng dụng khách HTTP ưa thích của bạn.

    BasicNetwork là triển khai mạng mặc định của Volley. Một BasicNetwork phải được khởi tạo với client HTTP ứng dụng của bạn đang sử dụng để kết nối vào mạng. Thông thường đây là một HttpURLConnection.

    Đoạn mã này cho bạn thấy các bước liên quan đến việc thiết lập RequestQueue:

    Nếu học lập trình Android chỉ cần thực hiện một yêu cầu một lần và không muốn rời khỏi nhóm luồng, bạn có thể tạo RequestQueue bất cứ nơi nào bạn cần và gọi stop() lại RequestQueue khi phản hồi hoặc lỗi của bạn quay lại, sử dụng Volley.

    newRequest Queue() phương thức được mô tả trong Gửi một yêu cầu đơn giản . Nhưng trường hợp sử dụng phổ biến hơn là tạo RequestQueue một singleton để duy trì hoạt động trong suốt vòng đời của ứng dụng của bạn, như được mô tả trong phần tiếp theo.

    Sử dụng một mẫu đơn

    Nếu ứng dụng của bạn sử dụng mạng liên tục, có lẽ hiệu quả nhất là thiết lập một phiên bản duy nhất RequestQueue sẽ kéo dài trọn đời ứng dụng của bạn.

    Bạn có thể đạt được điều này theo nhiều cách khác nhau. Cách tiếp cận được đề xuất là triển khai một lớp singleton đóng gói RequestQueue và các chức năng khác của Volley.

    Một cách tiếp cận khác là phân lớp Application và thiết lập RequestQueuein Application.onCreate(). Nhưng cách tiếp cận này không được khuyến khích ; một singleton tĩnh có thể cung cấp chức năng tương tự theo cách mô đun hơn.

    Một khái niệm quan trọng là RequestQueue phải được khởi tạo với Applicationbối cảnh, không phải Activity bối cảnh. Điều này đảm bảo rằng ý RequestQueue chí sẽ tồn tại trong suốt vòng đời của ứng dụng của bạn, thay vì được tạo lại mỗi khi hoạt động được tạo lại (ví dụ: khi người dùng xoay thiết bị).

    Dưới đây là một ví dụ về một lớp singleton cung cấp RequestQueue và ImageLoader chức năng:

    Dưới đây là một số ví dụ về hoạt RequestQueue động thực hiện bằng cách sử dụng lớp singleton:
     

    Xem thêm các chủ đề tạo bởi HoitruongS4
    Đang tải...


Chia sẻ trang này