SharedPreferences 是为了存储小的key value的值。
SharedPreferences 是针对整个应用来讲的,你可以得到SharedPreferences的实例通过任意的context.
getAcvivity getContext getApplicationContext都可以
context.getSharedPreferences
getPreferences 仅仅是针对Activity来说的,针对activity存储相应数据,不需要提供一个文件名字。
Context context = getActivity();
SharedPreferences sharedPref = context.getSharedPreferences(
getString(R.string.preference_file_key), Context.MODE_PRIVATE);
Context.MODE_PRIVATE 只可以在你的App内部访问。
还有权限MODE_WORLD_READABLE MODE_WORLD_WRITEABLE 全局可读可写 其它app都可以读写你的文件里的数据。
不需要指定文件名 因为他仅仅保存数据针对特定的Activity
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();
读取数据的示例:
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);