如何在 kotlin 的 SharedPreferences 中保存带有布尔值的列表?

How to save a list with Boolean values in SharedPreferences in kotlin?

我想用布尔值将此列表保存在 SharedPreferences 中:

val listTheme = mutableListOf( false,false,true,false)

如何做到这一点?在 android studio

中使用 kotlin 语言

您可以使用 Kotlin Serialization 库将数据结构(包括 类 和列表)存储为 JSON 字符串 - 还有其他库。但是对于像这样简单的事情,您可能可以自己动手做:

val listTheme = mutableListOf(false, false, true, false)

// convert each value to a specific character (produces a string)
val serialized = listTheme.map { if (it) '1' else '0' }.joinToString("")

// convert each character to a true or false value (produces a list)
val deserialized = serialized.map { it == '1' }

print(" original: $listTheme\n serialized: $serialized\n deserialized: $deserialized")

>>>  original: [false, false, true, false]
 serialized: 0010
 deserialized: [false, false, true, false]

然后您可以将它放入字符串首选项中,然后在您稍后获取它时将其转换回列表。