从Android数据库中,似乎有以下方法将应用程序数据存储在文件中(永久而不是内存存储):
1.房间数据库
1.共享偏好
1.文件流
共享首选项仅适用于小键值对,而不适用于应用程序数据。
YouTube和谷歌似乎认为房间数据库是应用程序数据管理的最佳选择。但问题是,大部分数据都在Jetpack或旧版本的Kotlin房间数据库中。当我尝试使用新版本的Android SDK与Kotlin,然后它只是不断崩溃与无尽的错误,以放弃它的点。
通过流文件API为应用程序数据编写是正常的事情吗?应用数据是JSON文本数据。
https://developer.android.com/training/data-storage/app-specific
1条答案
按热度按时间5vf7fwbs1#
使用任何方式存储数据都是正常的。但是由于特定的原因,一些方法可能更优选。
文件的问题是你应该准备好处理不同的错误。例如,如果用户清除了应用程序的缓存,则文件已损坏或过时。此外,您必须检查文件是否存在之前,阅读它,并在每次更改后重写新的数据。
Room有助于使用更少的样板代码实现相同的结果。它应该与新的Android SDK,所以也许我们可以帮助,如果你给我们显示错误(例如,有一个常见的问题,当你改变你的实体类没有删除旧的数据库。在这种情况下,删除应用程序的用户数据可能会有所帮助)
如果你的应用数据不是很大,你也可以将其序列化(或者简单地转换为字符串)并存储在SharedPreferences中