如何在 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]
然后您可以将它放入字符串首选项中,然后在您稍后获取它时将其转换回列表。
我想用布尔值将此列表保存在 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]
然后您可以将它放入字符串首选项中,然后在您稍后获取它时将其转换回列表。