android开发 数据库发生变化后界面需要点击按钮刷新,我希望动态刷新

android开发  数据库发生变化后界面需要点击按钮刷新,我希望动态刷新

问题描述:

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
//课程显示
    public void ShowCou(View view) throws ExecutionException, InterruptedException {
        List<Course> List = dbCourse.selectAllCourses();
        ListView lv = find(R.id.couList);
        lv.setAdapter(new CouAdapter(List,this) );
    }
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

如果用sqlite的话
建议使用room 配合 livedata可以轻松做到上述需求
可参考我之前写的博客 jetpack系列文章
我用#CSDN#这个app发现了有技术含量的博客,小伙伴们求同去《Jetpack:Room超详细使用踩坑指南!》, 一起来围观吧 https://blog.csdn.net/weixin_44235109/article/details/120252231?utm_source=app&app_version=4.20.0&code=app_1562916241&uLinkId=usr1mkqgl919blen
livedata指南
https://blog.csdn.net/weixin_44235109/article/details/120116205

数据库变化时发一个消息,在需要更新的页面写一个消息监听,收到更新消息时调用更新界面的代码

采用livedata还有observe进行监听,不需要自己手动感知

@pumpkin的玄学 的方法算不错的了,这里再补充一点,你可以用RecycleView+Paging+Room+LiveData的方法实现,并且这个是动态加载,可以自定义加载数据的范围,也可以实现自己刷新的功能。推荐你学习一下《Android Jetpack应用指南》这本书。