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");
    }
}
原文地址:https://www.cnblogs.com/rookiechen/p/5280042.html