使用 ROOM 而不是保存为静态值的优势是什么?
What is advantage of using ROOM rather than saving as Static value?
我正在考虑为我正在开发的新 android 应用程序使用 Room
库。
我曾经为 Static value
制作了一个 class 并将从服务器获取的数据保存在 class 中。
例如,
StaticValue.kt
class StaticValue {
companion object {
lateinit var users: ArrayList<User>
}
}
获取数据并保存
var tmpArr = ArrayList<User>()
for (i in 0 until jsonObjArr.length()) {
tmpArr.add(User(jsonObjArr[i] as JSONObject))
}
StaticValue.users = tmpArr
我认为 Google 官方推荐使用 Room
作为 MVVM 设计模式,但我不确定是否仅使用 Room
来保存和查询数据。
使用 Room
并从本地数据库查询数据,而不是将数据保存为 Static
并从 Activity
或 Fragment
使用它有什么好处吗?
感谢您的帮助和建议。
编辑
很抱歉缺少有关该问题的信息。
问题是应用程序需要登录,登录会话到期时必须删除从服务器收集的所有数据。
最好不要每次都在数据库中存储和更新数据,只需要在应用程序关闭或注销之前保持活动状态,或者只保存为 StaticValue?我想知道效率方面是什么。
Room 是用于在用户本地存储中保存数据的永久数据库,但静态数据仅作为日志存在,因为应用程序是 运行,Room 和静态对象的用法完全不同,在某些时候您需要使用他们俩
我正在考虑为我正在开发的新 android 应用程序使用 Room
库。
我曾经为 Static value
制作了一个 class 并将从服务器获取的数据保存在 class 中。
例如,
StaticValue.kt
class StaticValue {
companion object {
lateinit var users: ArrayList<User>
}
}
获取数据并保存
var tmpArr = ArrayList<User>()
for (i in 0 until jsonObjArr.length()) {
tmpArr.add(User(jsonObjArr[i] as JSONObject))
}
StaticValue.users = tmpArr
我认为 Google 官方推荐使用 Room
作为 MVVM 设计模式,但我不确定是否仅使用 Room
来保存和查询数据。
使用 Room
并从本地数据库查询数据,而不是将数据保存为 Static
并从 Activity
或 Fragment
使用它有什么好处吗?
感谢您的帮助和建议。
编辑
很抱歉缺少有关该问题的信息。
问题是应用程序需要登录,登录会话到期时必须删除从服务器收集的所有数据。
最好不要每次都在数据库中存储和更新数据,只需要在应用程序关闭或注销之前保持活动状态,或者只保存为 StaticValue?我想知道效率方面是什么。
Room 是用于在用户本地存储中保存数据的永久数据库,但静态数据仅作为日志存在,因为应用程序是 运行,Room 和静态对象的用法完全不同,在某些时候您需要使用他们俩