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