Android开发——保存用户设置
保存用户设置有两种方法,分别是
getSharedPreferences(prefName, MODE_PRIVATE);
和
getPreferences(MODE_PRIVATE);
他们的共同点在于都是把一些变量存入一个xml文件中,然后储存在设备里(具体来说在/data/
data/<package_name>/shared_prefs文件夹),同时要注意,他们两个的定义都是SharedPreferences prefs;。
他们的区别在于,SharedPreferences需要一个指定的名称,并且是全程序共享的,而Preferences不起名字,同时存储只能被当前的Activity调用。
除此之外就没有其它差别了,所以以SharedPreferences为例就好了。
首先需要实例化一个SharedPreferences:
private SharedPreferences prefs;
prefs = getSharedPreferences(prefName, MODE_PRIVATE);
然后制造一个此实例的Editor:
SharedPreferences.Editor editor = prefs.edit();
存入数据的工作主要由这个Editor完成,方法是put。
putString()
putBoolean()
putLong()
putInt()
putFloat()
比如储存一个Float和一个String可以这样:
private static final String FONT_SIZE_KEY = “fontsize”;
private static final String TEXT_VALUE_KEY = “textvalue”;
editor.putFloat(FONT_SIZE_KEY, editText.getTextSize());
editor.putString(TEXT_VALUE_KEY, editText.getText().toString());
然后一定要:
!->editor.commit();<-!
确认储存。
读取数据不需要用到Editor,而是用SharedPreferences本身的get方法,比如:
SharedPreferences prefs = getSharedPreferences(prefName, MODE_PRIVATE);
float fontSize = prefs.getFloat(FONT_SIZE_KEY, 12);
参考资料:
《Beginning Android Application Development》