我需要以以下方式将数据保存到
SharedPreferences
中:
我有这样一个对象:
{
"days": [
{
"exercises": [
{
"name": "Bench Press",
"sets": 3,
"reps": 8
},
{
"name": "Skull Crushers",
"sets": 3,
"reps": 8
},
{
"name": "Flys",
"sets": 3,
"reps": 8
}
]
},
{
"exercises": [
{
"name": "Bench Press",
"sets": 3,
"reps": 8
},
{
"name": "Skull Crushers",
"sets": 3,
"reps": 8
},
{
"name": "Flys",
"sets": 3,
"reps": 8
}
]
}
]
}
我需要从对象中提取并添加到对象中。我知道你不能将地图保存到SharedPreferences
中。我开始考虑使用ObjectOutputStream
,但不确定是否在内存中使用它最好。我想知道我的最佳选择是什么。
编辑:根据Advice-Dog
的建议,我认为最好使用gson
。那么这是否意味着,当我想要(例如)将另一个练习添加到“days”的第二个索引时,我将首先从首选项中获取对象,将其从gson
转换为对象,然后添加该练习,然后再将其转换回gson
,最后覆盖首选项?我不是说这样做不好,只是想知道这是否应该这样做,以及是否可行。
SharedPreferences
更适合用于保存应用程序设置(简单数据),而不是被滥用作为数据库。 - Martin Zeitler