何时保存列表数据并在Android应用程序

时间:2016-06-22 16:56:23

标签: android json list csv xamarin

我创建了一个带有两个activities的应用作为具有两个单独列表的活动。 我们打电话给他们:Activity1Activity2。 使用应用程序的主屏幕MainActivity。 应用一启动,即会创建MainActivity,并根据列表项的状态在通知栏中显示notifications

我已经看过Android的生命周期,但我无法理解并找出加载列表的位置以及何时保存列表。此外,将Android中的大型列表数据保存到内部存储的最佳方法是什么? Json? Csv?文件类型基本上? :)

例如,我是否会在首次创建MainActivity时加载两个列表onCreate()。然后在用户导航离开Activity1 onPause()时保存(例如)Activity1的列表?

重申一下,这是我需要帮助的: 我已经看过Android的生命周期,但我无法理解并找出加载列表的位置以及何时保存列表。另外,基本上以Android to internal storage? Json? Csv?文件类型保存大型列表数据的最佳方法是什么? :)

感谢您的帮助! :)

2 个答案:

答案 0 :(得分:1)

正如您可能已经知道的那样,当活动被实例化时,将会调用 onCreate ,因此所有初始化,包括使用从文件加载的列表数据填充活动或共享偏爱。在何时保存列表数据方面,它完全取决于您希望如何修改数据,因为只有在数据从原始状态更改时才需要保存数据。

当然,您也可以在每次调用 onResume 时加载数据,并在调用 onPause 时再次保存数据,以确保数据已同步(如果有)多个应用程序修改相同的列表数据。

保存列表数据的方法有很多种。我建议使用 SharedPrefernce ,因为它可以为您节省一些麻烦。请阅读this了解如何将 ArrayList 保存到 SharedPreference 。如果您不喜欢这样,您可以始终将数据保存为具有某种标准格式(JSON,XML等)的文件,并在读取和写入文件时解析数据。

答案 1 :(得分:0)

加载数据的一个很好的切入点是" OnResume"。每次将您的活动呈现给用户时都会调用它。

保存您的数据可以放在" OnPause"。

"在OnCreate"仅在创建活动时调用,此活动仅对您的MainActivity执行一次。