首页
学习
活动
专区
工具
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并不是存储大量数据的最佳选择。对于大量数据,建议使用数据库或其他存储解决方案。

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

相关·内容

14分23秒

一小时学会Redis系列教程-05-Redis 命令-在 Redis 中存储排序集

5分24秒

一小时学会Redis系列教程-05-Redis 命令-在 Redis 中存储列表

31分16秒

10.使用 Utils 在列表中请求图片.avi

21分43秒

128、商城业务-商品上架-sku在es中存储模型分析

9分29秒

一小时学会Redis系列教程--05-Redis 命令-在 Redis 中存储哈希

12分17秒

一小时学会Redis系列教程-05-Redis 命令-在 Redis 中存储集合

7分42秒

15_应用练习2_显示列表.avi

2分35秒

146_尚硅谷_MySQL基础_演示delete和truncate在事务中的区别

56秒

PS小白教程:如何在Photoshop中给灰色图片上色

3分25秒

Elastic-5分钟教程:使用Elastic进行快速的根因分析

1分19秒

020-MyBatis教程-动态代理使用例子

14分15秒

021-MyBatis教程-parameterType使用

领券