【发布时间】:2019-01-06 08:18:38
【问题描述】:
我读过其他主题,它说多个共享偏好是一件好事 (Android - Is it bad practice to have multiple Shared Preferences?) ,但是不应该使用首选项存储大量数据。然而,“大量数据”是什么意思?应用程序运行的每一天,它都会创建一个以当前日期为键的新键值对...这是一个好主意还是应该切换到 SQLite?
class TimeAndMoneyForASpecificDay (val context: Context) {
private fun obtainDate(): String{
val df = SimpleDateFormat("MMM d, yyyy")
return df.format(Date())
}
fun saveTimeWorkedAndMoneyEarned(timeWorked: Float, moneyEarned: Float) {
val current = obtainDate()
val time = context.getSharedPreferences("time", 0) // ??
val money = context.getSharedPreferences("money",0)
val timeEditor = time.edit()
val moneyEditor = money.edit()
timeEditor.putFloat(current, timeWorked)
moneyEditor.putFloat(current, moneyEarned)
timeEditor.apply()
moneyEditor.apply()
}
}
【问题讨论】:
-
您是否总共只保留了一定天数,或者您希望有人在 4 年后仍然使用您的应用程序?这确实是一种设计选择。另外,当有人发出“清除缓存”请求时会发生什么?在这种情况下,SQLite DB 也会被删除。