Android Paging 3 с комнатой, не загружающей начальные данные при освеженииAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Android Paging 3 с комнатой, не загружающей начальные данные при освежении

Сообщение Anonymous »

Я использую мультиплатформенную пьесу Cash App (в которой используется подкрепление Androidx для большинства вещей под капотом) с помощью Compose для загрузки нанесенных на ногам данных из комнаты DB.
Все работает нормально, но единственная проблема - когда данные добавляются данные в комнате на заднем плане, а нагрузка (обновление = загрузка). < /p>
У нас есть фоновая служба, которая синхронизирует данные каждые несколько минут и сохраняет их в комнате db один за другим. Если я введу экран, который собирает ленивые элементы, пока служба синхронизирует данные, я вообще не получаю никаких начальных данных, пока не завершится синхронизация, а состояние обновления не загружается. Иногда ему повезло, и существует задержка между каждой вставкой в ​​процессе синхронизации, и он загружает данные, но большую часть времени это не так. Затем начинается синхронизация, это дает мне новые данные обычно. Проблема в том, когда я ввожу во время синхронизации.
import androidx.paging.Pager
import androidx.paging.PagingConfig
import androidx.paging.PagingData

class GetFilteredItemsUseCase(
private val itemsRepository: ItemsRepository,
) {
operator fun invoke(
filter: List? = null,
): Flow = Pager(
PagingConfig(
pageSize = 50,
initialLoadSize = 50,
prefetchDistance = 10,
)
) {
itemsRepository.getFilteredItems(filter = filter)
}.flow
}
< /code>
и в dao < /p>
@RawQuery(observedEntities = [ItemEntity::class])
fun getFilteredItems(query: RoomRawQuery) : PagingSource


Подробнее здесь: https://stackoverflow.com/questions/794 ... refreshing
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»