2013-02-06 2 views
1

Я не уверен, является ли «кеш» правильным термином для использования или нет, но здесь идет мой вопрос, в моем приложении у меня есть активность, которая загружает данные JSON из Интернета, а затем заполняет список, который кажется чтобы работать нормально.Кэширование активности в android

Настоящая проблема заключается в том, что в момент отсутствия доступа к Интернету он начинает показывать пустой экран, есть ли способ сохранить прежний вид списка, который был сгенерирован ранее, в случае отсутствия подключения к Интернету и получения только данных если существует постоянное соединение.

Я знаю, как найти, есть ли сетевое соединение или нет, поэтому, пожалуйста, не пишите код, поэтому моя главная задача - сохранить ранее загруженные просмотры списков и отобразить их, если соединение не найдено.

Единственное, что я могу сейчас подумать, это использовать локальную базу данных sqlite.

+0

Не понимаю, почему вы обновляете свой список, если нет доступного интернет-соединения? – Gorcyn

+0

Откровенно говоря, я понятия не имею, как это сделать, может ли я направить меня правильно, как это реализовать, даже подсказка будет работать –

+0

Я отправил ответ, чтобы быть более явным – Gorcyn

ответ

2
onResume() 
IF internet THEN request (AsyncTask?) 
    Validate response and build Model objects from JSON 
    IF objects are good THEN give objects to ListView adapter 

Таким образом, ваш список будет обновлен тогда и только тогда, когда у вас есть подключение к Интернету.

Почему onResume() и не onCreate()? Когда вы вернетесь из другой деятельности, активность onResume() сама;)

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

Для удобной части II. Если вы считаете, что пользователь НЕ ДОЛЖЕН играть с вами во время обновления, отключите события в этом списке или, если пользователь НЕ ДОЛЖЕН ничего делать (ваше приложение должно манипулировать объектами из этого списка), используйте диалог прогресса для уведомления пользователь, которого вы что-то делаете

+0

Yup работал как шарм, я должен сделать пару проверок, но, похоже, это многообещающий –

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