我正在开发一个简单的 android 应用程序,其活动显示来自在线 mySQL DB 中几个表的一些数据。我正在读取的表格并不复杂,不会超过 100 行。
我希望这个应用程序也可以离线运行,所以我想在数据以 JSON 格式更新后立即在本地保存数据,而不是进入为此类简单表创建 SQLite DB 的过程。
这有什么问题吗?为什么每个人都使用数据库,即使是简单的数据存储?
事实是,您必须知道您的数据会受到哪些限制。正如@njzk2 在评论中所说,序列化数据(使用 JSON)要容易得多,但您不会对数据有任何保证。使用数据库可以确保您的操作的原子性(您不会同时对可能添加错误的数据进行操作),并且在主键或外键之类的帮助下,确保数据的一致性。
所以你只需要看看你是否需要这些约束来选择如何保存你的数据。
在开发软件时,您必须考虑到您的 I/O 数据未来可能发生的情况,包括其结构和大小。
即使现在您的数据很小,将来也可能不会。因此,如果您使用文件作为存储,您可能需要在以后迁移到数据库。因此,为了避免这种情况,大多数人选择立即使用 DB 并避免将来出现数据大小问题,因为 DB 将比纯文本文件工作得更快、更可靠(例如引用完整性),特别是如果数据是特定的尺寸。
此外,数据库的结构更加灵活,并且更改结构很容易(嗯,至少比使用文件更容易)。文件不是这样,如果你想改变文件的结构,你必须重写整个文件加载代码,这比重写几个SQL语句要麻烦得多。
您可以使用 file 来存储 json o/p 并且可以从该文件本地解析 json 而无需 db