SharedPreferences使用

SharedPreferences 类提供了一个通用框架,以便您能够保存和检索原始数据类型的永久性键值对。 您可以使用 SharedPreferences 来保存任何原始数据:布尔值、浮点值、整型值、长整型和字符串。 此数据将跨多个用户会话永久保留(即使您的应用已终止亦如此)。

要获取应用的 SharedPreferences 对象,请使用以下两个方法之一:

  • getSharedPreferences() – 如果您需要多个按名称(使用第一个参数指定)识别的首选项文件,请使用此方法。
  • getPreferences() – 如果您只需要一个用于 Activity 的首选项文件,请使用此方法。 由于这将是用于 Activity 的唯一首选项文件,因此无需提供名称。

要写入值:

  1. 调用 edit() 以获取 SharedPreferences.Editor
  2. 使用 putBoolean() 和 putString() 等方法添加值。
  3. 使用 commit() 提交新值

要读取值,请使用 getBoolean() 和 getString() 等 SharedPreferences 方法。

——节选自官方文档

实际使用案例

存储SharedPreferences

public static boolean saveUserInfo(Context context, String username, String password) {
//      1.通过context对象创建sharedpreference对象
//        name:sharedpreference文件名 mode:文件操作模式
        try {
            SharedPreferences sharedPreference = context.getSharedPreferences("userinfo.txt", Context.MODE_PRIVATE);
//      2.通过sharedpreference对象获取一个editor对象
            SharedPreferences.Editor editor = sharedPreference.edit();
//      3.往editor中添加数据
            editor.putString("username", username);
            editor.putString("password", password);
            editor.commit();
            return true;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return false;
    }

读取SharedPreferences

public static Map<String, String> getUserInfo(Context context) {
//        1.创建sharedpreference对象
        SharedPreferences sharedpreferences = context.getSharedPreferences("userinfo.txt", Context.MODE_PRIVATE);
//        2.通过sharedpreference获取存放数据
        String username = sharedpreferences.getString("username", "");
        String password = sharedpreferences.getString("password", "");
//
        HashMap<String, String> hashMap = new HashMap<String, String>();
        hashMap.put("username", username);
        hashMap.put("password", password);
        return hashMap;
    }

发表评论

电子邮件地址不会被公开。 必填项已用*标注