【发布时间】:2017-06-05 00:18:13
【问题描述】:
我不清楚如何设置从房间中的 dao 返回的实时数据。让我们看一个房间中的示例 DAO:
@Dao
public interface EventDao {
@Query("SELECT * FROM " + Event.TABLE_NAME + " WHERE " + Event.DATE_FIELD + " > :minDate limit 1")
LiveData<List<Event>> getEvents(LocalDateTime minDate);
@Insert(onConflict = REPLACE)
void addEvent(Event event);
@Delete
void deleteEvent(Event event);
@Update(onConflict = REPLACE)
void updateEvent(Event event);
}
特别是,我想看看 getEvents 查询调用。它将返回 liveData 对象中的事件列表。这是如何从呼叫者端调用的?任何人都有一个可观察/可流动以及普通旧java的例子吗?
【问题讨论】:
-
您想查看
getEvents的实现如果我是正确的,EventDao将生成类EventDao_impl,每个实现都在其中完成。你可以看看那个实现。 -
仍然不确定您的意思。告诉我你会如何调用 getEvents ?并告诉我你将如何监听变化(因为我返回了一个 livedata)
-
您是在使用
ViewModel还是想直接从活动中调用它?
标签: android android-room android-livedata