我是靠谱客的博主 谨慎台灯,最近开发中收集的这篇文章主要介绍RxJava 2 与 Room 查询实操,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

从上一篇Room & RxJava 的使用引申而来的代码实际操作。

1. 定义一个数据库接口

@Dao
public interface UserDao {
    @Query("select * from user")
    Flowable<List<UserEntity>> getUsers();

    @Query("select * from user limit 1")
    Flowable<UserEntity> getUser();
}


2. 查询数据库

// ViewModel/DataRepository类:

public Flowable<List<UserEntity>> getUsers(){
        return database.userDao().getUsers();
    }

database为AppDatabase类,继承RoomDatabase。详见BasicSample中的AppDatabase类。

3. 在UI中引用

// Activity 或 Fragment类:

 userViewModel.getUsers()
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Consumer<List<UserEntity>>() {
                    @Override
                    public void accept(List<UserEntity> entities) throws Exception {
                        adapter.setList(entities);
                    }
                })
        ;

最后

以上就是谨慎台灯为你收集整理的RxJava 2 与 Room 查询实操的全部内容,希望文章能够帮你解决RxJava 2 与 Room 查询实操所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部