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

发布于 2025-01-20 15:12:06 字数 164 浏览 4 评论 0原文

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

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

如何做到这一点?在 Android Studio 中使用 kotlin 语言

I want to save this list in SharedPreferences with Boolean values:

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

how can this be done? in kotlin language in android studio

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

不可一世的女人 2025-01-27 15:12:06

您可以使用 kotlin serialialial serialialization 将数据结构(包括类和列表)存储为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]

然后,您可以将其扔进字符串的偏好中,然后在以后获取时将其转换回列表。

You can use the Kotlin Serialization library to store data structures (including classes and lists) as JSON strings - there are other libraries too. But for something simple like this, you can probably get away with doing it yourself:

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]

Then you can just throw it in a String preference, and convert it back to a list when you fetch it later.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文