如何使用Rxjava2在房间数据库中的Textview上显示可流动数据
DAO.class:如何使用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
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
},
可丢弃->{
//如果引发任何异常,将执行此块
}
);