首页 > 解决方案 > Android房间LiveData接收观察的最后一个变化值以及如何丢弃之前观察到的db变化值

问题描述

我使用房间返回实时数据,例如:

    @Transaction
    @Query("SELECT * FROM msg")
    LiveData<List<Msg>> loadMsgs();

在活动 A 中,我将 msg MA 插入 db,然后在活动 B 中,我观察 livedata,如:

        liveData.observe(getViewLifecycleOwner(), myProducts -> {
            if (myProducts != null) {

            }
        });

并将 msg MB 插入到 activityB 中的 db 中。第一次收到唯一的 msg MA,第二次收到 MA 和 MB,为什么?味精 MA 是在观察之前插入数据库,我想在观察后第一次接收所有味精。

标签: androidandroid-roomandroid-livedata

解决方案


推荐阅读