我正在使用Room
并且在Dao
我有这个方法:
LiveData<List<Books>> getAllBooks();
在 MainActivity 我已经从ViewModel
. 对数据的更改触发onChanged()
回调:
viewModel.getAllBooks()
.observe(this, books -> {
Log.d(TAG, "onChanged()");
booksListAdapter.setData(new ArrayList<>(books));
});
我想知道的是什么构成了更新?当应用程序第一次启动时,我做了 100 次插入,每个插入都会更改数据库,但onChanged()
不会调用 100 次。上次我检查它onChanged()
第一次调用时,我认为它总是在启动时调用,然后再调用两次。
我可以控制这个吗?例如,如果我知道我将进行 100 次插入,那么如果我只在插入结束时得到回调可能会更好。