Как сохранять данные при переходе между активити?

Рейтинг: 0Ответов: 1Опубликовано: 05.02.2023

Суть приложения: На главном экране моего приложения, можно ввести цифры, после чего отправляется запрос на сервер, а данные полученные с него парсятся в data class, а после выводется на экран пользователю.

Для отправки запроса использую: OkHttp

Для парсинга: Gson

Пример DataClass:

data class DataModel(

val money: Money? = null,
val countr: Country? = null,

// All the rest
val dollar: String? = null,
var euro: String? = null,
val ruble: String? = null,
val hryvnia: String? = null,

var errorHandler: Boolean? = false ){

data class Money(
    val quantities: String?,
)

data class Country(
    // Country
    val year: String?,
    val inflation: String?,
)}

Но при открытие другого активити, данные уничтожаются. Как мне сделать так, чтобы данные сохранялись при уничтожени/остановки и так далее? И при возвращении на основной экран, данные были там.

Ответы

▲ 0
  1. можно перейти на Фрагменты и использовать SharedViewModel.
  2. можно сделать статичный / синглтон Репозиторий.
  3. использовать БД или SharedPref чтобы данные переживали закрытие приложение (первые варианты этого не будут делать)
  4. можно передавать данные из 1 экрана в другой (если по логике 2ой экран - это продолжение первого. например на 1ом экране только основная инфа, а на 2ом - детальная).