gpt4 book ai didi

android - 在 SharedPreferences 中存储列表或集合

转载 作者:IT老高 更新时间:2023-10-28 23:08:39 25 4
gpt4 key购买 nike

我的应用程序有一个字符串值列表(每个值大约 5-20 个字符),我必须永久存储这些值。 SharedPreferences 在我看来是最合适的,因为它是一个简短的列表。通常它是空的,或者只包含几个值。

我已经看过 this question问的基本一样,答案不合适,因为 StringSet 是 API 级别 11,我的目标是 Android 2.1 及更高版本,即 API 7。

考虑到通常很小的字符串列表,使用数据库对我来说似乎太过分了。使用文件来存储这将是另一种解决方案,但不是那么优雅。我考虑过创建键(如“1”、“2”、“3”等),但这实际上比使用文件更糟糕——尤其是在读取我的数据时。

无论如何,如果没有其他方法,我将不得不选择文件选项。如果我的想法使用 API lvl 7 的 SharedPreferences 根本不切实际,我也很乐意听到。

最佳答案

我发现从 SharedPreferences 存储和检索项目列表的最简单的解决方案是简单地将数组序列化/反序列化为 JSON 并将其存储到字符串设置中。

Gson 真的很方便。

阅读:

SharedPreferences prefs = context.getSharedPreferences("settings", Context.MODE_PRIVATE);
String value = prefs.getString("list", null);

GsonBuilder gsonb = new GsonBuilder();
Gson gson = gsonb.create();
MyObject[] list = gson.fromJson(value, MyObject[].class);

写:

String value = gson.toJson(list);
SharedPreferences prefs = context.getSharedPreferences("settings", Context.MODE_PRIVATE);
Editor e = prefs.edit();
e.putString("list", value);
e.commit();

关于android - 在 SharedPreferences 中存储列表或集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6598331/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com