[RXJAVA2] [Kotlin] [Android] Chức năng search với Rxjava2 và Kotlin (Phần 2)
Như ở phần trước mình đã nó tổng quan và các thành phần cơ bản để tạo nên chức năng search sử dung RXjava2 và Kotlin Ở bài viết này chúng ta sẽ đi vào thực hiện các vấn đề đã nói ở bài trước và thực hiện chức năng này hoàn chỉnh 1. Requset data Chúng ta sẽ truy vấn data trên thread IO ...
Như ở phần trước mình đã nó tổng quan và các thành phần cơ bản để tạo nên chức năng search sử dung RXjava2 và Kotlin Ở bài viết này chúng ta sẽ đi vào thực hiện các vấn đề đã nói ở bài trước và thực hiện chức năng này hoàn chỉnh
1. Requset data
-
Chúng ta sẽ truy vấn data trên thread IO
-
Các operator sử lí kết quả truy vấn sẽ được thực hiện trên mainThread : tại sao phải là mainThread mà không phải một thread khác ??
flatMap { searchService.search(it).subscribeOn(Schedulers.io()) } .observeOn(AndroidSchedulers.mainThread())
-
Handler request error
Chúng ta sẽ thông báo cho người dùng khi xảy ra lỗi trong doOnError và sử dụng retry để observable lại textChanges
doOnError { Snackbar.make(main_coordinator, "Error while searching", Snackbar.LENGTH_SHORT).show() } .retry()
2. Xử lí UI
-
Vậy trong quá trình request dữ liệu và handler chúng ta cần làm gì ??
Đó là show progress cho người dùng thấy app vẫn đang chạy ngon