我正在开发一个应用程序,用于从服务器下载ParseObject
的数据,并用ListView
填充Fragment
。
我读到了按Service
下载数据并在完成后(某种listener
?)它会更新Fragment
并且可以访问,直到用户离开应用程序(这是好的我)。
另一方面 - 我可以将其存储在Bundle
中并在每次返回Fragment
时检索它,但之后我需要实现Serializable
案件可能很麻烦:like here
片段由DrawerLayout
持有,所以每次看到加载栏时你真的很恼火你更改为Fragment
并且我正在寻找一个解决方案来改变它以改善用户体验。
你有什么建议?在那种情况下哪种方法会更好?在尝试使用其中任何一种之前,我应该注意哪些事情?
答案 0 :(得分:1)
我认为这取决于服务器上数据的更改频率。
如果仅每天/每周,解决方案必须与每分钟/小时更改数据的情况不同。
如果数据是静态的,那么您只能下载一次,并将其保存到SharedPreferences,或者保存到单独的本地文件或数据库。
如果它经常发生变化,我建议使用捆绑包或内存对象,因此当用户重新进入应用程序时,应该再次下载数据。
答案 1 :(得分:0)
我使用的解决方案是简单地将整个数据列表转换为JSON,然后将其保存在SharedPreferences中。这样,当用户返回到该片段时,可以轻松地重用数据。
由于您没有在app close / reopen中保存数据,因此不需要本地数据库。