【发布时间】:2022-01-07 00:41:14
【问题描述】:
我正在构建一个聊天应用程序,其中每个数据首先进入房间数据库,然后在数据上插入 recyclerview 以使用新数据进行更新。它按预期工作,但现在我需要将我的分页库更新到版本 3。为此,我需要更新这些更改 根据this link 和this
我已经做了所有的改变,但我被困在viewmodel 班级。我没有得到我需要在这门课中做出什么改变才能使它与paging library version 3一起工作
这是我的视图模型
public class Chat_ViewModel extends ViewModel {
public final LiveData<PagedList<ChatEntity_TableColums>> chatList;
public Chat_ViewModel() {
chatList = new LivePagedListBuilder<>(
RoomDatabase.getInstance(MyApplication.getmContext(),1).chatDAO().getPaginationChat(String.valueOf(UserID())),20).build();
}
}
在上面的课程中,我知道 PagedList 和 LivePagedListBuilder 已被弃用,但在这里我不确定在更新的库中替换什么以使其完美运行。
我的房间数据库查询
@Query("SELECT * FROM tapChatter WHERE userName = :UserName ORDER BY ID DESC")
PagingSource<Integer, ChatEntity_TableColums> getPaginationChat(String UserName);
面临的问题:
1:我如何更新ViewModel 以获得聊天应用程序的最佳性能?我当前的ViewModel 是否适合聊天应用程序?
2:是否可以在 Room Database 数据更新时更新 RecyclerView UI?
【问题讨论】:
标签: java android mvvm pagination android-room