使用视图从房间 android 获取数据
getting data from room android with view
一周前,我学习了回收器视图,并在 XML 布局和硬编码数据或共享首选项中使用适配器和片段与我一起工作,但现在我学习了我遵循的房间数据库 google 关于如何显示数据和所有内容的开发者网站,我已经尝试了三天但没有结果。
RecyclerView recyclerView = findViewById(R.id.mainTaskView);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.setAdapter(new TaskAdapter(tasks));
我试图获取数据库中的所有项目,但它一直给我 null。
[关于创建代码][1]
[1]: https://i.stack.imgur.com/Txtil.png
如果您想查看所有文件,这是我的存储库。
我可以使用 allowQueriesInMainThread,但不推荐这样做,因此我正在努力实现空间和视图的最佳实践。
需要观察者getAllTask()
数据导致数据在workThread查询,显示在mainThread
您可以使用 Room @QUERY
函数查询数据和 return LiveData。
@Query("SELECT * FROM tableName")
public LiveData<List<Entity>> getAllTask()
viewModel.getAllTask().observer(this,new Observer{
@override
public void onChange(List<Entity> list){
adapter.setData(list)
adapter.notifyDataSetChanged()
}
})
我忘记了 java LiveData.observer。好像是这样
一周前,我学习了回收器视图,并在 XML 布局和硬编码数据或共享首选项中使用适配器和片段与我一起工作,但现在我学习了我遵循的房间数据库 google 关于如何显示数据和所有内容的开发者网站,我已经尝试了三天但没有结果。
RecyclerView recyclerView = findViewById(R.id.mainTaskView);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.setAdapter(new TaskAdapter(tasks));
我试图获取数据库中的所有项目,但它一直给我 null。
[关于创建代码][1] [1]: https://i.stack.imgur.com/Txtil.png
如果您想查看所有文件,这是我的存储库。
我可以使用 allowQueriesInMainThread,但不推荐这样做,因此我正在努力实现空间和视图的最佳实践。
需要观察者getAllTask()
数据导致数据在workThread查询,显示在mainThread
您可以使用 Room @QUERY
函数查询数据和 return LiveData。
@Query("SELECT * FROM tableName")
public LiveData<List<Entity>> getAllTask()
viewModel.getAllTask().observer(this,new Observer{
@override
public void onChange(List<Entity> list){
adapter.setData(list)
adapter.notifyDataSetChanged()
}
})
我忘记了 java LiveData.observer。好像是这样