Rxの方法でデータベースからデータを取得しようとしています。 は、これは私がrx-java2 Schedulers.io()スチールはmainThreadのメソッドを呼び出します
override fun onStart() {
super.onStart()
disposable.add(presenter.getAllBooks()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe({
println(it.size())
}))
}
が、これはプレゼンター
fun getAllBooks() : Flowable<List<Book>> {
val isMainThread = Looper.myLooper() == Looper.getMainLooper()
if (!isMainThread) {
updateBooks()
return db.bookDao().allBooks
}
return Flowable.empty()
}
内部getAllBooks()
方法であることをやろうとしている方法です。ここisMainThread
変数は、私もobserveOn(Shcedulers.io())
が、同じ問題を試してみましたが、常にtrue
、 です。
を、あなたはLiveDataを使用してみてください。それはrx javaに似ていますが、そのライフサイクルを認識し、最もクールなものが部屋をサポートしています – Jois
大丈夫、ありがとう、私はそれを使用しますが、ここで何が起こっているか教えてくれますか? –