Код: Выделить всё
@Transaction
@Query("SELECT * FROM itemModel WHERE datetime(datetime(`end`), 'localtime') > datetime(:minDate, 'localtime') ORDER BY `end` ASC")
fun getFlow(
minDate: LocalDateTime,
): Flow[*]>
Как обрабатывать потоковые обновления? Потому что:
- на стороне базы данных ничего не меняется (поэтому поток никогда не будет получать уведомления об изменениях)
- только дата в запрос (должен) измениться, но после загрузки потока кажется, что SQL-запрос сохраняет свои параметры, как если бы он был впервые вызван.
Код: Выделить всё
var items: StateFlow
fun initItemsFlow(context: Context) {
items = getAllRecords(context).stateIn(
scope = coroutineScope,
started = SharingStarted.WhileSubscribed(5_000),
initialValue = emptyList(),
)
}
Должен ли я снова вручную вызывать initItemsFlow, когда мне нужно (= переустановить весь поток с нуля) или есть лучший механизм потока/комнаты, чтобы справиться с этим? p>
Спасибо
Подробнее здесь: https://stackoverflow.com/questions/787 ... am-request
Мобильная версия