我正在编写一个包含项目列表及其信息的应用程序。当用户打开应用程序时,他们会看到列表,当他们选择特定项目时,他们将获得有关该项目的所有信息。
现在我的方法是将数据存储在 java 源文件中的多维数组中。当我推送新的更新时,我可能会在 java 源文件中添加新项目(因此数组变得更大)。我想知道这是否是最好的方法。我尝试在网上查找有关数组和数据库的相关信息,但似乎找不到我需要的信息。对我有什么建议吗?
另外,如果将来我创建一个功能让用户将自己的项目添加到列表中,会有什么影响?
如果用户应该能够更新它,如果你应该能够动态更新它(例如从互联网更新),那么数据库是必须的。
如果该数据是静态的,除非您更新应用程序,否则不会更改,您可以将其存储在代码中或更好的文件中(您可以以 JSON 格式存储以便于阅读和解析)
如果使用数组,用户新添加的项目将在应用程序重新启动时消失。
您可以使用直接存储在手机上的 SQLite 数据库(例如 SD 卡)。
可以在此处找到对存储选项及其常用用途的分析。我个人建议使用 SQLite 数据库。
数据库适用于永久数据,但如果不是真的需要写入磁盘,它可能会造成瓶颈。
我正在重构一个应用程序以不再使用 SQLite。我一次插入大量(10,000-100,000)新行,根据我对状态的日志反馈,这看起来需要一个小时。当我将它保存在内存中时,它在大约 5 秒内全部加载完毕。