SharedPreference 的简单用法

Android的四大数据存储方式之一“SharedPreference”,其他三个分别是SQLite、Content Provider 和 File

一般使用SharedPreference来存储应用程序的配置信息。它一般存储在应用程序的私有存储区,文件权限是私有的。也就是说只能供写入者读取。它使用键/值(NVP机制)来存储数据。支持的数据类型(boolean、int、float、long和String)。它存储在应用程序的私有目录下(data/data/包名 /shared_prefs/)自定义的XML文件中。
 
1.创建SharedPreference
 
SharedPreference myPreference=getSharedPreferences("myPreference", Context.MODE_PRIVATE);
 
第一个参数:SharedPreference 的名称
第二个参数:打开的方式,一般有两个值(0和MODE_PRIVATE)我们一般用MODE_PRIVATE
 
2.写入,更新SharedPreference
//获取SharedPreferences对象

SharedPreference myPreference=getSharedPreferences("myPreference", Context.MODE_PRIVATE);
//像SharedPreference中写入数据需要使用Editor
Editor editor = myPreference.edit();

//存入键值对数据,注意此处的put[type]("key",value);

editor.putString("STRING_KEY", "string");

editor.putInt("INT_KEY", 0);
editor.putBoolean("BOOLEAN_KEY", true);

//提交保存

//editor.apply();
editor.commit();

 

提示:

(1)apply和commit都是提交保存,区别在于apply是异步执行的,不需要等待。不论删除,修改,增加都必须调用apply或者commit提交保存。

(2)关于更新:如果已经插入的key已经存在。那么将更新原来的key。

(3)应用程序一旦卸载,SharedPreference也会被删除。

3.读取

 
SharedPreference myPreference=getSharedPreferences("myPreference", Context.MODE_PRIVATE);
//读取这里主要用到了get[type]("key",defaultvalue),第一个参数是要获取的key,第二个参数是默认值,是当没有为这个key保存值的时候使用。
String name=preferences.getString("name", "defaultname");
String age
=preferences.getString("name", "暂无");
String age=preferences.getInt("age", 0);
String age=preferences.getBoolean("isRead", false);
 

4.检索

SharedPreference myPreference=getSharedPreferences("myPreference", Context.MODE_PRIVATE);
//检查当前键是否存在
boolean isContains=myPreference.contains("key");

//使用getAll可以返回所有可用的键值
//Map<String,?> allMaps=myPreference.getAll();
原文地址:https://www.cnblogs.com/ywtk/p/3795184.html