Я хочу сохранить данные в SharedPreferences , однако я хочу сгруппировать один и тот же список значений для разных экземпляров.Например:
class Player(name: String, age: Int, gender: String) {
}
PlayerDetails.kt
override fun onClick(v: View?) {
val name: String = player_name.text.toString()
val age = if (player_age.text.toString().isNotEmpty()) player_age.text.toString().toInt() else 0
val genderId: Int = gender.checkedRadioButtonId
val gender: String = if (genderId > 0) resources.getResourceEntryName(genderId) else ""
if (name.isNotEmpty() && genderId > 0 && age > 0 ){
val player = Player(name, age, gender)
val sharedPref = this@PlayerDetails.getSharedPreferences("user_details", Context.MODE_PRIVATE)
...
// get a specific Player's age
} else {
blankFields()
}
}
Я хочу, чтобы файл SharedPreferences содержал все экземпляры Player
в одном файле:
... / shared_prefs / user_details.xml
<map>
<string name="name">peter</string>
<string name="age">22</string>
<string name="gender">male</string>
</map>
<map>
<string name="name">steven</string>
<string name="age">24</string>
<string name="gender">male</string>
</map>
Как мне получить доступ к отдельным Player
экземплярам (например, Peter's age
)?
Если я выполняю sharedPref.getString("age","defaultName")
, он не может нацелиться на age
конкретного игрока, так как есть несколько экземпляров.