如何使用Rxjava2在房间数据库中的Textview上显示可流动数据

如何使用Rxjava2在房间数据库中的Textview上显示可流动数据,java,android,rx-java2,android-room,Java,Android,Rx Java2,Android Room,DAO.class: @Dao public interface VisitorDAO { @Query("Select * from visitor") Flowable<List<Visitor>> getAll(); @Insert Completable Insert(Visitor visitor); //Using Single or Maybe tells the Database and the mainthrea

DAO.class:

@Dao
public interface VisitorDAO {

    @Query("Select * from visitor")
    Flowable<List<Visitor>> getAll();

    @Insert
    Completable Insert(Visitor visitor);    //Using Single or Maybe tells the Database and the mainthread that this operation will be performed on Rxjava.

    @Update
    public void Update(Visitor visitor);

    @Delete
    public void Delete(Visitor visitor);

}
   @Override
                public void onComplete() {
                    visitorFlowable = database.visitorDAO().getAll();
                    t.setText(visitorFlowable.); //is this the right way????
                    Toast.makeText(Add_Visitors.this, "Insert Successful!", Toast.LENGTH_SHORT).show();

我已经将查询设置为可流动的,目的是访问那些可流动的返回类型数据,并将其显示在文本视图上。

visitorFlowable=database.visitorDAO().getAll()

将返回一个flowable,您需要在UI线程上订阅它并更新textView

database.visitorDAO().getAll()
                .observeOn(schedulerProviders.ui())
                .subscribe(
                    list -> {
                        //list is List<Visitor>, use it to update textView
                    },
                    throwable -> {
                        //this block is executed if any exception is thrown
                    }
            );
database.visitorDAO().getAll()
.observeOn(schedulerProviders.ui())
.订阅(
列表->{
//列表是列表,使用它更新textView
},
可丢弃->{
//如果引发任何异常,将执行此块
}
);