一次性下载ListView数据 - 服务还是捆绑?

时间:2015-10-09 13:44:29

标签: android listview android-fragments android-service

我正在开发一个应用程序,用于从服务器下载ParseObject的数据,并用ListView填充Fragment

我读到了按Service下载数据并在完成后(某种listener?)它会更新Fragment并且可以访问,直到用户离开应用程序(这是好的我)。

另一方面 - 我可以将其存储在Bundle中并在每次返回Fragment时检索它,但之后我需要实现Serializable案件可能很麻烦:like here

片段由DrawerLayout持有,所以每次看到加载栏时你真的很恼火你更改为Fragment并且我正在寻找一个解决方案来改变它以改善用户体验。

你有什么建议?在那种情况下哪种方法会更好?在尝试使用其中任何一种之前,我应该注意哪些事情?

2 个答案:

答案 0 :(得分:1)

我认为这取决于服务器上数据的更改频率。

如果仅每天/每周,解决方案必须与每分钟/小时更改数据的情况不同。

如果数据是静态的,那么您只能下载一次,并将其保存到SharedPreferences,或者保存到单独的本地文件或数据库。

如果它经常发生变化,我建议使用捆绑包或内存对象,因此当用户重新进入应用程序时,应该再次下载数据。

答案 1 :(得分:0)

我使用的解决方案是简单地将整个数据列表转换为JSON,然后将其保存在SharedPreferences中。这样,当用户返回到该片段时,可以轻松地重用数据。

由于您没有在app close / reopen中保存数据,因此不需要本地数据库。