首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在SharedPreferences中存储列表或集

在SharedPreferences中存储列表或集合时,需要将列表或集合转换为可以存储在SharedPreferences中的数据类型。SharedPreferences主要支持以下数据类型:布尔、浮点、整数、字符串和字符串集合。

要在SharedPreferences中存储列表或集合,可以将列表或集合转换为字符串,然后将其存储在SharedPreferences中。以下是一个示例,说明如何在SharedPreferences中存储和读取一个字符串列表:

代码语言:java
复制
// 将列表转换为字符串
private String listToString(List<String> list) {
    StringBuilder sb = new StringBuilder();
    for (String s : list) {
        sb.append(s).append(",");
    }
    return sb.toString();
}

// 将字符串转换为列表
private List<String> stringToList(String s) {
    List<String> list = new ArrayList<>();
    if (!TextUtils.isEmpty(s)) {
        String[] arr = s.split(",");
        for (String item : arr) {
            if (!TextUtils.isEmpty(item)) {
                list.add(item);
            }
        }
    }
    return list;
}

// 保存字符串列表
private void saveList(Context context, String key, List<String> list) {
    SharedPreferences sp = context.getSharedPreferences("my_shared_preferences", Context.MODE_PRIVATE);
    SharedPreferences.Editor editor = sp.edit();
    editor.putString(key, listToString(list));
    editor.apply();
}

// 读取字符串列表
private List<String> readList(Context context, String key) {
    SharedPreferences sp = context.getSharedPreferences("my_shared_preferences", Context.MODE_PRIVATE);
    String s = sp.getString(key, "");
    return stringToList(s);
}

在这个示例中,我们使用逗号分隔的字符串来存储和读取字符串列表。您可以根据需要使用其他分隔符或序列化方法。

请注意,SharedPreferences并不是存储大量数据的最佳选择。对于大量数据,建议使用数据库或其他存储解决方案。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券