我在使用房和LiveData一个Android应用MVVM工作。
在我的LineDao,我方法返回lastUpdateTime,如下所示:
CREATE INDEX ProcessID on table1(ProcessID) INCLUDE (id)
然后,在存储库我有这样的方法:
@Query("Select lastUpdateTime from Line ORDER BY lastUpdateTime DESC LIMIT 1")
LiveData<LocalDateTime> getLastUpdate();
在LinesViewModel中,我有:
public LiveData<LocalDateTime> getLastLinesUpdate ()
{
return database.lineDao().getLastUpdate();
}
然后,最后在该片段中,有:
private LiveData<LocalDateTime> lastLinesUpdate;
public LiveData<LocalDateTime> getLastLinesUpdate() {
return lastLinesUpdate;
}
public LinesViewModel(Application application) {
repository = Repository.getInstance(application);
getLastLinesUpdate = repository.getLastLinesUpdate();
}
我期待与此代码时线对象在数据库中被更新时,即当该查询结果改变,我将在片段接收该事件(viewModel.getLastLinesUpdate()。观察...)。 但是,我没有得到初始事件后,任何东西。
我想念什么?