Начнем с того, что я играю с RxJava / Rx Android только пару дней.
В psuedocode я пытаюсь выполнить sh что-то подобное при загрузке данных. из API Guild Wars 2:
refreshDatabase {
getAllIds - single API call (50.000+ ids)
chunk ids into chunks of 100 each
for each chunk
getItems - single API call which fetches 100 items
update ui on the progress (# chunks out of # chunks done)
loop through all items when all chunks are fetched
determine if the item is something we're after
save it in our own database
update ui on progress (# items out of # items done)
return bool telling if successful or not
}
Я прочитал много учебников и документации по этому поводу, но я не совсем понимаю, как это кодировать.
I ' мы закончили и работаем с логиками c для всего этого, если я хочу, чтобы сортировка / сохранение в базе данных выполнялись сразу после получения чанка, но тогда я не могу обновить пользовательский интерфейс с подробностями.
Поскольку это операция, которая занимает много времени при первом запуске, я бы хотел, чтобы прогресс был довольно подробным, а не экономил 0,5-2 секунды времени загрузки.
Любые советы о том, как я получить сделать что-то вроде того, что я положил в psuedocode?