2010-05-30 2 views
1

Мне сложно найти лучший способ передать простые значения из onPause и onResume в жизненном цикле активности Android. Я понимаю, как использовать get и put дополнительные пакеты для активности для данных активности, но работает ли это для передачи данных между одним и тем же видом деятельности? Должен ли я использовать SharedPreferences?Каков наилучший способ переноса данных между onPause & onResume?

ответ

2

Если вы хотите сохранить переходное состояние вашего приложения, переопределите onSaveInstanceState() и onRestoreInstanceState().

Это не методы жизненного цикла, поэтому их не всегда называют. Они используются системой, поэтому Activity выглядит так, как пользователь оставил ее, если они уйдут и вернутся к ней. Если Пользователь явно закрывает приложение - например, нажав кнопку «Назад» - они не вызываются, поэтому вы не должны использовать их для записи постоянных пользовательских данных.

Если вы хотите to record persistent data you have several options:

  • Общие предпочтения
  • Внутренняя память
  • External Storage
  • SQLite Базы данных

Один использовать, будет зависеть от данных, которые вы хотите магазин.

+0

Кроме того, для конкретного случая вращения экрана существует 'onRetainNonConfigurationInstance()' и 'getLastNonConfigurationInstance()'. – CommonsWare

Смежные вопросы