Сохранение после завершения - PullRequest
0 голосов
/ 27 января 2011

В моем приложении для Android у меня есть список с кучей элементов с флажками. Если флажки установлены, значение рассчитывается. Однако после того, как приложение завершено, просмотр списка сбрасывается сам, со всеми флажками, снятыми снова. Как бы мне было так, чтобы, когда приложение полностью завершалось, флажки отмеченные / непроверенные состояния сохранялись? Я искал различные методы, но все кажутся довольно сложными для начинающего: (

Ответы [ 3 ]

1 голос
/ 27 января 2011

Вот ссылка, чтобы сделать это, вместе с простым примером для подражания: http://developer.android.com/guide/topics/data/data-storage.html#pref

1 голос
/ 27 января 2011

Как и предлагали другие, вы должны сохранить настройки вашего флажка в SharedPreferences. Основная идея заключается в том, что в вашем методе onPause() вы читаете состояние вашего пользовательского интерфейса и записываете эти значения в настройки. Затем в onResume() вы читаете эти значения обратно и заново заполняете пользовательский интерфейс.

Пример в ссылке Хранение данных помещает сохранение настроек в onStop(), однако android Основы применения утверждают, что:

Обратите внимание на столбец Killable в таблице выше. Он указывает, может ли система завершить процесс, в котором размещено действие , в любое время после возврата из метода без выполнения другой строки кода действия . Три метода (onPause(), onStop() и onDestroy()) помечены как «Да». Поскольку onPause() является первым из трех, это единственный, который гарантированно будет вызван перед завершением процесса - onStop() и onDestroy() могут не быть. Поэтому вы должны использовать onPause() для записи любых постоянных данных (таких как пользовательские изменения) в хранилище.

Как таковой, я бы предложил написать предпочтения в onPause(), а не onStop().

1 голос
/ 27 января 2011

Возможно, вы захотите попробовать SharedPreferences

Также здесь есть APIDemo для использования SharedPreferences здесь: APIDemo

...