SharedPreference作为一种序列化方式,经常被用来存储一些简单的数据或状态,最近使用SharedPreference来保存设置参数,但是当参数发生变化时,需要进行一些处理,一方面可以通过对响应的设置逻辑进行监听,例如观察者模式等等方式,查阅资料时发现一种比较trick的方法,通过监听SharedPreference文件的变化,来进行相应的处理。
通过registerOnSharedpreferenceListener方法设置监听:
SharedPreferences sp = getSharedPreferences("testSP", Context.MODE_PRIVATE);
sp.registerOnSharedPreferenceChangeListener(new SharedPreferences.OnSharedPreferenceChangeListener() {
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String s) {
Log.i("spTest","sp changed, key is "+ s);
}
});
在SharedPreference文件中进行添加、修改、获取等操作:
//第一次写数据
sp.edit().putBoolean("testBoolean",true).apply();
sp.edit().putString("testString"
版权声明:本文为BrcLi原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。