Android项目数据存储之SharedPreferences

SharedPreference的本质是基于XML文件存储的key-value键值对数据,存储的文件路径为/data/data/<包名>/shared_prefs目录下。

注意:SharedPreference只能保存简单的数据类型,如string,int类型。一般会将复杂类型的数据转换成Base64编码,然后将转换后的数据以字符串的形式保存在 XML文件中,再用SharedPreferences保存。

1.存储数据

/**
 *创建SharedPreferences对象,getSharedPreferences()方法中第一个参数为文件名称,第二个参数为指定应用程序访问权限。
 *SharedPreferences的四种操作模式:
 *Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容。
 *Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。
 *MODE_WORLD_READABLE:表示当前文件可以被其他应用读取。
 *MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入。
 */
SharedPreferences sp = getSharedPreferences("user",Context.MODE_PRIVATE);
/**
 *使用SharedPreferences接口的edit获得SharedPreferences.Editor对象,让user处于编辑状态。
 */
SharedPreferences.Editor editor = sp.editor();
/**
 * 通过SharedPreferences.Editor接口的putXxx方法保存key-value对。其中Xxx表示不同的数据类型。例如:字符串类型的value需要用putString方法。
 */
editor.putString("name","zhangbiao");
editor.putString("psw","110");
/**
 * 通过SharedPreferences.Editor接口的commit方法保存key-value对
 */
editor.commit();
2.读取数据

SharedPreferences sp = getSharedPreferences("user", Context.MODE_PRIVATE);
        String name = sp.getString("name","默认值");
        String psw = sp.getString("psw", "default");

3.清除指定数据

SharedPreferences sp  = getSharedPreferences("user", Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sp.edit();
        editor.remove("name");
        editor.commit();

4.清空数据

SharedPreferences sp  = getSharedPreferences("user", Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sp.edit();
        editor.clear();
        editor.commit();




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SharedPreferences提供了一种轻量级的数据存储方式,可以用来存储简单的键值对数据SharedPreferences存储数据是以XML文件的形式保存在设备的本地文件系统中的。 具体的步骤如下: 1. 获取SharedPreferences对象。可以通过Context的getSharedPreferences()方法或Activity的getPreferences()方法获取SharedPreferences对象。 ``` // 通过Context获取SharedPreferences对象 SharedPreferences preferences = getSharedPreferences("my_preferences", Context.MODE_PRIVATE); // 通过Activity获取SharedPreferences对象 SharedPreferences preferences = getPreferences(Context.MODE_PRIVATE); ``` 2. 使用SharedPreferences.Editor对象保存数据。可以通过SharedPreferences的edit()方法获取SharedPreferences.Editor对象,然后使用putXxx()方法存储数据。其中Xxx可以是int、float、boolean、long、String等数据类型。 ``` // 获取SharedPreferences.Editor对象 SharedPreferences.Editor editor = preferences.edit(); // 存储数据 editor.putString("username", "Tom"); editor.putInt("age", 20); editor.putBoolean("isMale", true); // 提交数据 editor.apply(); ``` 3. 使用SharedPreferences对象获取数据。可以使用SharedPreferences的getXxx()方法获取数据。其中Xxx可以是int、float、boolean、long、String等数据类型。 ``` // 获取数据 String username = preferences.getString("username", ""); int age = preferences.getInt("age", 0); boolean isMale = preferences.getBoolean("isMale", false); ``` 在这个示例中,我们通过SharedPreferences存储了用户名、年龄和性别的数据,并通过SharedPreferences获取了这些数据。 需要注意的是,SharedPreferences存储数据是以键值对的形式保存的,其中键是一个字符串,值可以是任意基本类型数据。在存储和获取数据时,需要使用相应的putXxx()和getXxx()方法,并指定键的名称和默认值(可选)。另外,为了保护用户的隐私,建议不要将敏感信息存储SharedPreferences中。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值