android的一种量级较小的数据保存方式,数据保存形式为键值对。它将数据保存在特殊的XML文件里,普通用户并不能打开它。这里我用它来保存登录时的登录名。
两种获取方式
getSharedPreferences
这个可用通过Context调用,且是通过一个字符串保存多个shared preference files(?不是很明白)getPreferences
这个只能在Activity中用
Context context = getActivity();
SharedPreferences sharedPref = context.getSharedPreferences(
getString(R.string.preference_file_key), Context.MODE_PRIVATE);
或
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
保存数据
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putInt(getString(R.string.saved_high_score), newHighScore);
editor.commit();
类似,putString
也是可以的,MODE_PRIVATE
可确保其他知道你文件表示符的APP无法读取你的文件。
读取数据
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
int defaultValue = getResources().getInteger(R.string.saved_high_score_default);
long highScore = sharedPref.getInt(getString(R.string.saved_high_score), defaultValue);