Mục lục:



Như tui đã đề cập trong bài viết trước, toán tử from có ​​lẽ sẽ hữu ích nhất cho bạn. Tui sẽ cung cấp một mô tả ngắn và sau đó là một ví dụ về từng loại.

✅ Để bắt đầu với những ví dụ, tui sẽ tạo 1 đối tượng có tên Task (tác vụ).


fromArray()

Điều này sẽ lấy một mảng các đối tượng làm đầu vào và đầu ra là một Observable.

Nó sẽ không thực thi phương thức ngay lập tức. Nó sẽ chỉ thực hiện phương thức sau khi một người đăng ký đã đăng ký.

Khi nào bạn nên sử dụng toán tử này?

👌 Để phát ra một số lượng tùy ý các mục được biết trước.

Input: T[]
Ouput: Observable<T>

Ví dụ:

Tạo một mảng các đối tượng Tác vụ có thể quan sát được:


fromIterable()

Điều này sẽ lấy một đối tượng có thể lặp lại làm đầu vào và đầu ra là một Observable. Các loại lặp bao gồm: List, ArrayList, Set, v.v.

Nó sẽ không thực thi phương thức ngay lập tức. Nó sẽ chỉ thực hiện phương thức sau khi một người đăng ký đã đăng ký.

Khi nào bạn nên sử dụng toán tử này?

Để phát ra một số lượng tùy ý các mục được biết trước. Giống như toán tử fromArray () nhưng nó là một toán tử có thể lặp lại.

Input: List<T>, ArrayList<T>, Set<T>, etc...
Ouput: Observable<T>

Ví dụ:

Tạo một danh sách các đối tượng tác vụ có thể quan sát được.


fromCallable()

fromCallable () sẽ thực thi một khối mã (thường là một phương thức) và trả về một kết quả.

Nó sẽ không thực thi phương thức ngay lập tức. Nó sẽ chỉ thực hiện phương thức sau khi một người đăng ký đã đăng ký.

Khi nào bạn nên sử dụng toán tử này?

Để tạo một mục Obseravle theo yêu cầu. Giống như gọi một phương thức để lấy một số đối tượng hoặc danh sách các đối tượng.

Input: Callable<T>
Ouput: T

Ví dụ:

Bạn cần trả về một đối tượng Task từ bộ đệm ẩn cơ sở dữ liệu SQLite database. Tất cả các hoạt động cơ sở dữ liệu phải được thực hiện trên một luồng nền (background thread). Sau đó, kết quả được trả về luồng chính (main thread).

  1. Bạn có thể sử dụng một có thể gọi để thực thi phương thức trên một luồng nền.
  2. Sau đó trả kết quả về luồng chính.
Truy xuất đối tượng Tác vụ từ cơ sở dữ liệu SQLite database.

Post a Comment

Cảm ơn bạn đã quan tâm và bày tỏ :D

Mới hơn Cũ hơn