Giới thiệu
Tui nghĩ rằng cách tốt nhất để nắm bắt khái niệm về Observables and Observers là xem với một ví dụ từng bước cụ thể. Vì vậy, trong bài viết này, tui sẽ nói về cấu trúc chung của mọi tương tác quan sát / quan sát được. Tui sẽ chia nhỏ từng bước và nói về các phần riêng lẻ.
Ví dụ
Giả sử bạn muốn tạo danh sách các đối tượng 'Tác vụ' (Tui đặt tên object đó là Task code ở dưới nhé) có thể quan sát (Observable) và hiển thị chúng trong giao diện người dùng. Bằng cách đó, nếu bất kỳ nhiệm vụ nào thay đổi, giao diện người dùng sẽ được cập nhật tự động.
Task POJO:
Tui sẽ tạo 1 danh sách nhiệm vụ giả ở dang static method:
Tạo một đối tượng Tác vụ có thể quan sát:
- Đối với cá nhân tui thì sẽ có những bước tối thiểu để tạo 1 đối tượng có thể quan sát trong RX
- Tạo một đối tượng có thể quan sát mới
- Áp dụng toán tử 'fromIterable' và chuyển một tập dữ liệu (Đừng lo lắng nếu bạn không hiểu toán tử này. Tui sẽ nói chi tiết về nó trong một bài viết khác 😊)
- Chỉ định một chủ đề cho công việc được thực hiện. Điều đó có nghĩa là truy xuất danh sách dữ liệu và chuyển đổi thành có thể quan sát được.
- Chỉ định một chủ đề để quan sát kết quả trên. Tui muốn dữ liệu được hiển thị trên giao diện người dùng nên tui đang sử dụng AndroidSchedulers.mainThread () để quan sát dữ liệu trên chuỗi chính và sẽ đăng ký trong luồng bacground.
NOTE: Lưu ý rằng Observable không quấn quanh một List<Task>. Đó là Observable<Task>.
Đăng ký một Observable:
Bây giờ tui có một đối tượng để quan sát, tui có thể đăng ký nó với một người quan sát.
Người quan sát này sẽ được thông báo nếu tập dữ liệu thay đổi. Phương thức onNext () sẽ chạy trên luồng chính để các đối tượng tác vụ có thể được đặt thành giao diện người dùng ở đó.
Người quan sát này sẽ được thông báo nếu tập dữ liệu thay đổi. Phương thức onNext () sẽ chạy trên luồng chính để các đối tượng tác vụ có thể được đặt thành giao diện người dùng ở đó.
giang
Output:
onNext: : Take out the trash
onNext: : Walk the dog
onNext: : Make my bed
onNext: : Unload the dishwasher
onNext: : Make dinner
Tổng kết
Đây là một ví dụ rất cơ bản. Nhưng nó giới thiệu cấu trúc chung của mọi Observable / Observer interaction.
- Tạo một trang có thể quan sát được
- Áp dụng một toán tử cho Observable
- Chỉ định chuỗi nào sẽ thực hiện công việc và chuỗi nào sẽ đưa ra kết quả
- Đăng ký(Subscribe) Người quan sát (Observer) cho Người có thể quan sát (Observable) và xem kết quả
Đăng nhận xét
Cảm ơn bạn đã quan tâm và bày tỏ :D