SharedPreferences的用法

介绍

SharedPreferences功能:在android中保存较少的键值对。

Android存储位置:以.xml格式存储在data/data/包名/shared_prefs目录下。

存储方法:

SharedPreferences sharedPreferences = getSharedPreferences("Activity2Preferences", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.commit();

读取方法:

    SharedPreferences sp = getPreferences(MODE_PRIVATE);
    String string = sp.getString("Activity2Preferences", "default");
Activity2Preferences为key。用于区分读取哪一个SharedPreferences中的数据。

存储List文件到SharedPreferences的方法。

  1. 先将List转换为 JSON 字符串
  2. 保存 JSON 字符串到 SharedPreferences
  3. 从 SharedPreferences 中获取保存的 JSON 字符串
  4. 将 JSON 字符串转换为 List

保存List到SharedPreferences

//保存List到SharedPreferences
    private void saveListToSharedPreferences(List<String> list, String key) {
        // 将 List 转换为 JSON 字符串
        Gson gson = new Gson();
        String json = gson.toJson(list);
        // 保存 JSON 字符串到 SharedPreferences
        SharedPreferences sharedPreferences = getSharedPreferences(ListActivity.this.getPackageName(), Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPreferences.edit();
        editor.putString(key, json);
        editor.apply();
    }
从SharedPreferences获取List
//从SharedPreferences获取List
    private List<String> getListFromSharedPreferences(String key) {
        // 从 SharedPreferences 中获取保存的 JSON 字符串
        SharedPreferences sharedPreferences = getSharedPreferences(ListActivity.this.getPackageName(), Context.MODE_PRIVATE);
        String json = sharedPreferences.getString(key, null);
        // 将 JSON 字符串转换为 List
        List<String> list = new ArrayList<>();
        if (json != null) {
            Gson gson = new Gson();
            Type type = new TypeToken<List<String>>(){}.getType();
            list = gson.fromJson(json, type);
            System.out.println(list);
        }
        return list;
    }

  • 11
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值