SharePreferences类的使用
简述:以key-value键值对的方式将数据保存到Android自身定义的文件夹(/data/data/<package name>/shared_prefs root才可见的文件夹)中,并利用该类实现写入和输出。
使用:
SharedPreference类实现读取数据(主要方法):
boolean contains(String key):判断文件中是否包含这种key
abstract Map<String,?>getAll();获取SharedPreference数据里的所有key-value。
boolean getXxx(String key,xxx defValue):根据key获取指定value,xxx代表基础引用类型(int,String,float,boolean等),defValue为缺省值(当从数据中返回的值为null则返回defValue)
SharedPreference.Editor实现存储(主要方法)//因为SharedPreferences接口本身并没有提供写入数据的能力,所以利用edit()获取Editor对象,实现存储
clear();清空SharedPreference内所有数据
putXxx(String key,xxx value);按照key-value存储数据,xxx表示基础引用类型
remove(String key);移除指定key对应的value
commit();当Editor编辑完之后需要提交
获取SharedPreference对象:
SharedPreference本身是接口本身,程序无法直接创建实例,需要利用Context.getSharedPreferences(String fileName,int mode;
fileName:文件名
mode:
1. MODE_APPEND: 追加方式存储
2. MODE_PRIVATE: 私有方式存储,其他应用无法访问
3. MODE_WORLD_READABLE: 表示当前文件可以被其他应用读取
4. MODE_WORLD_WRITEABLE: 表示当前文件可以被其他应用写入
实例
public class NewActivity extends AppCompatActivity { private static final String FileName="FirstSharedPreference"; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); SharedPreferences sharedPreferences = getSharedPreferences(FileName,MODE_PRIVATE);//获取SharePreferences对象 SharedPreferences.Editor editor = sharedPreferences.edit();//获取SharedPreferences的编辑器 editor.putBoolean("test1",true);//输入数据 editor.putString("test2","good"); editor.commit();//写入准备完成,提交数据 Boolean isTrue = sharedPreferences.getBoolean("test1",false);//读取数据 String good = sharedPreferences.getString("test2","bad"); } }