Android学习笔记整理(13)--数据存储方式之SharedPreferences的使用

1.SharedPreferences的概念

SharedPreferences是Android平台上一个轻量级的存储类,主要存储一些应用程序的配置参数,例如用户名、密码、自定义参数的设置等。SharedPreferences中存储的数据是以key/value键值对的形式保存在XML文件中,该文件位于data/data/<packagename>/shared_prefs文件夹中。

注意:SharedPreferences中的value值只能是float、int、long、boolean、String、StringSet类型数据

2.使用SharedPreferences存储数据

使用SharedPreferences类存储数据时,首先需要通过context.getSharedPreference(String name,int mode)获取SharedPreferences的实例(在Activity中可以直接使用this代码上下文,如果不在Activity中则需要传入一个Context对象获取上下文)

SharedPreferences sp=context.getSharedPreferences(String name,int mode);

 name表示文件名,mode表示文件操作模式,该模式有多个值可供选择

  • MODE_PRIVATE:指定该SharedPreferences中的数据只能被本应用程序读写
  • MODE_APPEND:该文件的内容可以追加
  • MODE_WORLD_READABLE:指定该SharedPreferences中的数据可以被其他应用程序读
  • MODE_WORLD_WRITEABLE:指定该SharedPreferences中的数据可以被其他应用程序读写

SharedPreferences的相关方法    

方法声明功能描述
Boolean contains(String key)判断SharedPreferences是否包含特定key的数据
abstract Map<String,?>getAll()获取SharedPreferences中的全部key/value的键值对
boolean getBoolean(String key,boolean defValue)获取SharedPreferences中指定key对应的boolean值
int getInt(String key,int defValue)获取SharedPreferences中指定key对应的Int值
float getFloat(String key,float defValue)获取SharedPreferences中指定key对应的float值
long getLong(String key,long defValue)获取SharedPreferences中指定key对应的long值
String getString(String key,String defValue) 获取SharedPreferences中指定key对应的String值    
Set<String> getStringSet(String key,Set<String> Value)获取SharedPreferences中指定key对应的set值 

注意的是,SharedPreferences对象本身只能获取数据,并不支持数据的存储和修改,数据的存储和修改需要通过SharedPreferences.Editor对象实现。

SharedPreferences.Editor对象的相关方法

方法声明功能描述
SharedPreferences.Editor edit()创建一个Editor对象
SharedPreferences.Editor putString(String key,String value)向SharedPreferences中存入指定key对应的String值
SharedPreferences.Editor putString(String key,int value)向SharedPreferences中存入指定key对应的int值
SharedPreferences.Editor putString(String key,float value)向SharedPreferences中存入指定key对应的float
SharedPreferences.Editor putString(String key,long value)向SharedPreferences中存入指定key对应的long
SharedPreferences.Editor putString(String key,boolean value)向SharedPreferences中存入指定key对应的boolean值
SharedPreferences.Editor putString(String key,Set<String> value)向SharedPreferences中存入指定key对应的set值
SharedPreferences.Editor remove(String key)删除SharedPreferences指定key所对应的数据
SharedPreferences.Editor clear()清空SharedPreferences中的所有的数据
boolean commit()编辑结束后,调用该方法提交
在SharedPreferences对象中存入数据,需要先获取SharedPreferences对象,通过该对象获取Editor对象,然后通过Editor对象的相关方法存储数据,
SharedPreferences sp=getSharedPreferences("data",MODE_PRIVATE);
//data表示文件名
Editor editor =sp.edit();
editor.putString("name","张三");
editor.putInt("age",8);
editor.commit();   //提交修改

获取数据,只需要创建SharedPreferences对象获取相应的key值即可   

 SharedPreferences sp=context.getSharedPreferences();
 String data = sp.getString("name","");    //获取用户名

删除数据与存储数据类似     

 SharedPreferences sp=context.getSharedPreferences();
 Editor editor=sp.edit();
 editor.remove("name");        //删除一条数据
 editor.clear();                //删除所有数据
 editor.commit();            //提交修改

注意:

  •  存入数据和删除数据时,一定要在最后使用editor.commit()方法提交数据
  • 获取数据的key值与存入数据的key值的数据类型要一致,否则找不到数据
  • 保存SharedPreferences的key值时,可以用静态变量保存,以免存储、删除时写错
        如:private static final String key ="example";
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值