Junior
53
questionbank

Как передать данные из одного активити в другое в Android?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

Данные можно передать, используя Intent:

  1. В исходном Activity: Поместите данные вExtras Intent с помощью методов вроде putExtra(String key, value).

    kotlin
  2. В целевом Activity: Извлеките данные из Extras Intent, полученного в методе onCreate или onNewIntent.

    kotlin

Другие методы передачи данных, пригодные для более сложных сценариев или большого объема данных:

  • ViewModel Shared between Fragments/Activities (через SharedViewModel): Удобно для общих данных между связанными компонентами.
  • Bundle (внутри Extras Intent): putExtra на самом деле использует Bundle внутри.
  • Статические переменные/синглтоны: Следует использовать осторожно, могут привести к утечкам памяти и проблемам с состоянием.
  • База данных/SharedPreferences: Для постоянного хранения или передачи данных, требующих сохранения.
  • Event Bus (например, EventBus, RxJava): Для передачи событий или данных между компонентами в асинхронном режиме.
  • File I/O: Сохранение в файл и чтение из него.