У меня есть приложение электронной коммерции для Android, в котором пользователь должен войти в систему для выполнения некоторых функций (добавление товара в корзину, маркировка товара в качестве избранного и т. Д.), И есть некоторые функции, которые будут работать без входа в систему. (Поиск товаров)
Поэтому, когда пользователь пытается выполнить функцию, требующую подписи, мне нужно переключиться на действие, чтобы войти в систему.Для входа в систему используется аутентификация Firebase (провайдер Google).
Каков наилучший подход (в MVVP ) для хранения сведений о пользователе (таких как идентификатор пользователя Firebase, имя и т. Д.), Которые должны быть доступны вприложение в глобальном масштабе (во всех необходимых действиях).
Возможное решение (я придумал):
1. Один ViewModel
для хранения зарегистрированных данных пользователя, который доступен во всех необходимых activities
,(Используя это на данный момент)
2. Использование общих настроек для хранения пользовательских данных.
3. Использование глобальной переменной данных с использованием расширяющего класс Application.
Если какой-либо альтернативный подход лучше указанных, пожалуйста, укажите!