Задать вопрос

Каким способом передать обьект из одной активности в другую?

Каким способом лучше всего передать объект из одной активности в другую

1. Передать через intent и на другой активности распарсить его.
2. Сделать таким образом что бы ссылка на один и тот же обьект был доступна в разных активностях.

что будет лучше?
  • Вопрос задан
  • 1403 просмотра
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Android-разработчик
    12 месяцев
    Далее
  • Яндекс Практикум
    Мидл Android‑разработчик
    5 месяцев
    Далее
  • Академия Codeby
    Курс «Анализ защищенности приложений Андроид»
    14 недель
    Далее
Решения вопроса 1
zagayevskiy
@zagayevskiy Куратор тега Java
Android developer at Yandex
1) Передать через Intent Parcelable/Serializable. Подойдёт для простых небольших объектов, не подойдёт для больших или списков - слишком накладно.
2) Положить в БД, через Intent передавать primary key (или критерии выборки) - удобно, масштабируемо.
3) Хранить в статичных полях - постарайтесь этого избежать. Причина - пересоздание всего приложения при нехватке памяти, в этом случае восстановить такое статичное состояние - отдельная непростая задача.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
TranE91
@TranE91
Senior Android Engineer
1. Serializable / Parcelable
2. Singleton
Ответ написан
gadfi
@gadfi
https://gamega.org
2. Сделать таким образом что бы ссылка на один и тот же обьект был доступна в разных активностях.

у нас на районе за такое не то что лицо бьют, даже не здороваются потом

1. Передать через intent и на другой активности распарсить его.

1) Parcelable самый быстрый способ но нужно писать реализацию (есть плагины которые сделают за вас )
2) Serializable медленнее чем Parcelable зато не требует лишних телодвижений
3) в виде json строки например с помощью Gson (преимуществ по сути никаких но если уже есть готовое в моделях то почему бы нет)
Ответ написан
Не знаю как там андройд устроен. Но мне кажется просто передать ссылку да и все.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы