搜索
您的当前位置:首页正文

Realm And RxJava查询后必须在mainThread

来源:二三娱乐
Paste_Image.png

使用Realm查询时,利用asObservable(),必须在MainThread线程监听,否则无法获取到数据,代码如下:

realm.where(GankInfo::class.java)       
    .findAllAsync()        
    .asObservable()           
    .mainUI()        
    .subscribe(
    {            
          showList(it)
          Timber.i(it.toString())       
     }
    ,                
        Throwable::printStackTrace
)

其中.mainUI()为kotlin的Extension方法:

fun <T> Observable<T>.mainUI(): Observable<T> {    
        return observeOn(AndroidSchedulers.mainThread())
}

发文方便自己查询,能够帮到大家就最好了。

Top