Сохранение состояния в Android - PullRequest
0 голосов
/ 14 сентября 2011

У меня есть этот список, который заполняется данными, которые загружаются из Интернета.Следовательно, в методе onCreate () я буду запускать асинхронную задачу, чтобы загрузить информацию и поместить ее в представление списка.

Я поместил логическое значение для того, загружен ли список во время saveInstanceState ()метод, это будет работать, если пользователь выходит из приложения с помощью кнопки домой и возвращается.Однако когда пользователь выходит из программы с помощью кнопки «назад», метод saveInstanceState () не запускается.

Я не хочу загружать список снова, как я могу проверить, загружалась ли она раньше?

Ответы [ 3 ]

1 голос
/ 14 сентября 2011

Проверьте это: Реализация обратных вызовов жизненного цикла http://developer.android.com/guide/topics/fundamentals/activities.html

Используйте обратные вызовы, чтобы заметить, что происходит с вашей деятельностью, и отреагировать, если nesseceray.

Вы можете использовать Shared Preferences для хранения данных значения ключа: http://developer.android.com/guide/topics/data/data-storage.html

0 голосов
/ 14 сентября 2011

Если вы хотите сохранить данные за пределами жизненного цикла приложения, вам необходимо сохранить их вне пакета.

Ваши параметры :

Я бы предложил частный файл внутреннего хранилища длясохранение ваших данных.

0 голосов
/ 14 сентября 2011

Вы можете переопределить Activity.onBackPressed () и также сохранить свое состояние там.

Также вы можете сделать

void onPause() {
    if(isFinishing()) {
       // save your state. maybe you'd be better off with using preferences (or other things suggested by people here), so you don't need to worry about the instance state.
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...