Загрузка данных в виде активности-всплеска и совместное использование этих данных или ViewModel для следующего действия в MVVM - PullRequest
0 голосов
/ 19 декабря 2018

В моем приложении мне нужно загрузить поток некоторых данных с сервера (используя модификацию), который загружен в выделенную модель представления.В настоящее время происходит то, что viewmodel вызывает хранилище в своем конструкторе, а затем, когда данные извлекаются, фрагмент наблюдения в основном действии уведомляется и соответственно изменяет пользовательский интерфейс.

Однако, предположим, я хочу получитьэти данные во время активности заставки, какова будет реализация для этого с использованием MVVM?Я имею в виду, поскольку модель представления связана только с одним действием, мы не можем совместно использовать одну и ту же модель представления для обоих действий.

Итак, как мы можем загрузить данные удаленного сервера в Launcher Activity, а затем использовать их в MainЗадание?

Каковы лучшие практики в этом случае?

1 Ответ

0 голосов
/ 21 декабря 2018

Отношение между ViewModel и View составляет один ко многим .Это отличие от MVP.Вы можете поделиться своей ViewModel с другими представлениями и использовать отдельные ViewModel для каждого представления.

UPD. Похоже, что вы можете создать 1 действие, содержимое ваших действий Splash и Main будет фрагментарно.Таким образом, переходя от всплеска к основному, вы просто меняете местами фрагменты.Если вы создадите ViewModel в обоих фрагментах следующим образом:

 ViewModelProviders.of(getActivity()).get(MainViewModel.class);

вместо:

ViewModelProviders.of(this).get(MainViewModel.class);

Вы получите один и тот же экземпляр ViewModel в обоих фрагментах.

...