Im從Web服務器加載數據並將結果呈現在列表視圖中。代碼工作正常,但列表爲空,直到數據完成從AsyncTask加載並且每當用戶離開屏幕並返回時,列表必須再次加載。我在我的應用程序中有多個列表,我採用相同的方法,當我的所有列表必須每次都加載整個數據時,它看起來很笨拙和錯誤。AsyncTask和listview - 如何避免每次加載所有數據
因此,現在我正在考慮將數據存儲在某個地方,以便我可以顯示舊數據,直到從服務器獲取新數據,然後使用新數據更新列表。
所以我的第一個問題是,我應該在哪裏存儲這些數據?在一個文件中?或者我應該創建一個SQLite數據庫並將列表對象存儲在那裏?
因爲我在應用程序中有多個列表,我認爲數據庫方法是最好的解決方案。然後,我可以獲取給定對象/表的最新插入標識,並檢查服務器是否有新數據要檢索。
我也讀過關於AsynTaskLoader類,它似乎做什麼即時通訊尋找,但我真的找不到任何良好的指南要遵循。因爲我已經有了AsyncTask的全部工作,所以實現這個加載器可能是太多不必要的工作。
所以是什麼將這個問題的建議方法?
我從服務器返回的數據是一個JSONArray,並使用SimpleAdapter來創建我的列表。
讓我知道你是否需要看到任何代碼。
在此先感謝!
參考http://developer.android.com/reference/android/net/http/HttpResponseCache.html –
好吧,謝謝我會考慮這個:) –
沒問題,如果您認爲緩存包含您的JSON數據的http響應是您的情況的正確答案,請讓我知道,並且我會將意見部分中的建議轉移到答案部分。 –