我越來越關注如何處理我設計的應用程序的數據。我想從網上拉出物品清單。數據會定期更新,我認爲將所有數據存儲在設備上會很好,所以應用程序可以快速加載並在後臺線程中刷新數據,而不必在每次啓動時等待網絡。獲取在線數據並將其存儲在Android中的最佳方式
我想我應該用XML來提供數據,並且有一個線程解析並保存到SQLite數據庫中,但我不確定這是否是「最佳實踐」。人們是否有其他方式來處理這個問題?
我越來越關注如何處理我設計的應用程序的數據。我想從網上拉出物品清單。數據會定期更新,我認爲將所有數據存儲在設備上會很好,所以應用程序可以快速加載並在後臺線程中刷新數據,而不必在每次啓動時等待網絡。獲取在線數據並將其存儲在Android中的最佳方式
我想我應該用XML來提供數據,並且有一個線程解析並保存到SQLite數據庫中,但我不確定這是否是「最佳實踐」。人們是否有其他方式來處理這個問題?
最乾淨的方式(或者至少,我認爲這是最乾淨的方式)是實現一個定製的ContentProvider類與您的服務器接口。您可以查詢contenprovider,並且如果它沒有本地緩存中的數據(例如,如您所說的SQLite數據庫),它會從您的服務器下載並將其添加到本地數據中。爲什麼是內容提供商?因爲那樣你就可以輕鬆地跨應用程序訪問你的數據,並且在使用意圖時你有一個很好而乾淨的方式來獲取你的數據。 此外,我個人更喜歡不在應用程序未運行時下載數據,因爲這會導致電池壽命,而用戶不會主動請求數據。
聽起來很合理。
如果下載新數據需要幾秒鐘的時間,您可能需要使用Service。這將允許您即使在用戶離開您的應用程序時繼續更新。
另外,想想你將如何通知用戶正在發生的事情。顯示一些進度指標總是一個好主意。否則,用戶可能會認爲數據不是最新的,因爲該應用程序已損壞。
使用JSOUP! ..... – 2015-03-09 13:43:15