我创建了一个带有两个activities
的应用作为具有两个单独列表的活动。
我们打电话给他们:Activity1
和Activity2
。
使用应用程序的主屏幕MainActivity
。
应用一启动,即会创建MainActivity
,并根据列表项的状态在通知栏中显示notifications
。
我已经看过Android的生命周期,但我无法理解并找出加载列表的位置以及何时保存列表。此外,将Android中的大型列表数据保存到内部存储的最佳方法是什么? Json? Csv?
文件类型基本上? :)
例如,我是否会在首次创建MainActivity时加载两个列表onCreate()
。然后在用户导航离开Activity1 onPause()
时保存(例如)Activity1的列表?
重申一下,这是我需要帮助的:
我已经看过Android的生命周期,但我无法理解并找出加载列表的位置以及何时保存列表。另外,基本上以Android to internal storage? Json? Csv?
文件类型保存大型列表数据的最佳方法是什么? :)
感谢您的帮助! :)
答案 0 :(得分:1)
正如您可能已经知道的那样,当活动被实例化时,将会调用 onCreate ,因此所有初始化,包括使用从文件加载的列表数据填充活动或共享偏爱。在何时保存列表数据方面,它完全取决于您希望如何修改数据,因为只有在数据从原始状态更改时才需要保存数据。
当然,您也可以在每次调用 onResume 时加载数据,并在调用 onPause 时再次保存数据,以确保数据已同步(如果有)多个应用程序修改相同的列表数据。
保存列表数据的方法有很多种。我建议使用 SharedPrefernce ,因为它可以为您节省一些麻烦。请阅读this了解如何将 ArrayList 保存到 SharedPreference 。如果您不喜欢这样,您可以始终将数据保存为具有某种标准格式(JSON,XML等)的文件,并在读取和写入文件时解析数据。
答案 1 :(得分:0)
加载数据的一个很好的切入点是" OnResume"。每次将您的活动呈现给用户时都会调用它。
保存您的数据可以放在" OnPause"。
"在OnCreate"仅在创建活动时调用,此活动仅对您的MainActivity执行一次。