Как уведомить репозиторий / ViewModel из источника данных? - PullRequest
0 голосов
/ 17 мая 2019

Я использую LivePagedListBuilder, чтобы построить LiveData<PagedList<String>> внутри Repository и отправить его в ViewModel.

Repository в свою очередь извлекает данные из PositionalDataSource, который реализован в DataSource с использованием методов loadInitial() и loadRange().

Теперь, если данные в источнике данных изменяются, как сообщить об этом из источника данных в репозиторий / модель представления, чтобы можно было инициировать новый запрос данных?

1 Ответ

0 голосов
/ 17 мая 2019

Класс PagedList работает с PagedListAdapter для загрузки элементов в RecyclerView.Эти классы работают вместе, чтобы извлекать и отображать контент по мере его загрузки, предварительно выбирая контент вне поля зрения и анимируя изменения контента.

Пожалуйста, обратитесь к этому

Также используйте Roomбазы данных, он может сгенерировать для вас Фабрику PositionalDataSources:

@Dao
 interface UserDao {
     @Query("SELECT * FROM user ORDER BY mAge DESC")
     public abstract DataSource.Factory<Integer, User> loadUsersByAgeDesc();
 }

Это компонент архитектуры, рекомендуемый для MVVM.и это простой способ.

...