sharedPreferences详解

        SharedPreferences是一种轻量级的数据存储方式,她是Android数据持久化方法中最简单的一种。其本质是基于XML文件存储key--value键值对数据,通常用来存储一些简单的配置消息。比如:用户名密码,是否是第一次登陆,是否显示引导页。(软件设置,用户账户设置,用户习惯设置等)

模拟器中的存储位置:data/data/package_name/shared_prefs/目录下

因为SharedPreferences本身是一个接口,程序无法直接创建SharedPreferences的实例。


获取SharedPreferences的三种方式:
1.调用Context对象的getSharedPreferences(String name,int mode)方法
   name:是指文件名称,不需要加后缀.xml,系统会自动为我们加上
   mode:是指定读写方式
2.调用Activity对象的getPreferences(int mode)方法
两种方式的区别:
调用Context对象的getSharedPreferences()方法获得的SharedPreferences对象可以被同一应用程序下的其他组件共享
调用Activity对象的getPreferences()方法获得的SharedPreferences对象只能在该Activity中使用
3.getDefaultSharedPreferences(): 每个应用有一个默认的偏好文件preferences.xml,使用该方法获取



SharedPreferences的四种操作模式:
Context.MODE_PRIVATE:默认操作模式,代表该文件为私有模式,只能被应用本身访问(值为0)
Context.MODE_APPEND:检查文件是否存在,存在就往文件中追加内容,否则就创建新文件(追加是对不同key值     而言,同一key值肯定会覆盖)
Context.MODE_WORLD_READABLE:表示当前文件可以被其他应用读取
Context.MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入


实现SharedPreferences存储的步骤:
//1.根据Context获取SharedPreferences对象
SharedPreferences sp = getSharedPreferences("sp",Context.MODE_PRIVATE);
//2.利用edit()方法获取Editor对象
Editor editor = sp.edit();
//3.通过Editor对象存储key-value键值对数据
editor.putString("STRING_KEY","string");
editor.putInt("INT_KEY",0);
editor.putBoolean("BOOLEAN_KEY",true);
//4.通过commit()方法提交数据,将内存中的操作,反映到文件当中
editor.commit();


从SharedPreferences中获取数据:
//1.根据Context获取SharedPreferences对象
SharedPreferences sp = getSharedPreferences("sp",Context.MODE_PRIVATE);
//2.使用getXXX()方法获取value,第二个参数是value的默认值
String name = sp.getString("STRING_KEY","defaultValue");
int age = sp.getInt("INT_KEY","defaultValue");




SharedPreferences免去了创建数据库,创建表,写SQL语句等诸多操作,相对而言更加便捷,但是局限性是:只能存储Boolean/String/int/long/float五种简单的数据类型。


你可能感兴趣的:(sharedPreferences详解)