一次性下载 ListView 数据 - Service 还是 Bundle?

One-time download ListView data - Service or Bundle?

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

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

另一方面 - 我可以将它存储在 Bundle 中并在每次回到那个 Fragment 时检索它,但是我需要实现 Serializable在这种情况下可能会很麻烦:like here

片段由 DrawerLayout 保存,所以每次更改为 Fragment 时看到加载栏现在真的很烦人,我正在寻找一种解决方案来更改它以改善用户体验。

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

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

由于您不跨应用保存数据 close/reopen,因此不需要本地数据库。

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

如果只有 daily/weekly,则解决方案必须与数据每 mins/hours 更改一次相比有所不同。

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

如果它经常变化,我建议使用包或内存对象,这样当用户重新进入应用程序时,数据应该重新下载。