У меня есть вопрос об объектах в Котлине, на который я до сих пор не нашел удовлетворительного ответа.Это в основном следующий сценарий: у меня есть некоторые пользовательские данные, которые я хочу сделать доступными через все приложение, без необходимости передавать их через действия.
Чтобы достичь этого, я создал объект с двумя свойствамикоторые создаются с данными пользователя в процессе запуска.Это безопасный способ сохранить и сделать данные пользователя доступными для всех действий или они будут потеряны в пути?
Пример:
object CurrentUserManager {
lateinit var userId: String,
lateinit var userName: String
}
LoginActivity {
...
onCreate(...){
val user = ApiCall.Login();
CurrentUserManager.userId = user.id
CurrentUserManager.userName = user.name
}
}
MainActivity {
...
onCreate(...){
Toast.makeText(this, "Hello ${CurrentUserManager.userName} with ID: ${CurrentUserManager.userId}", Toast.LENGTH_SHORT).show()
}
}
Это небезопасная / плохая практика, и еслитак почему и какой шаблон мне следует использовать для достижения ожидаемого результата?
Спасибо, lionthefox