SharedPreferences

来源:互联网 发布:gsm无线网络优化 编辑:程序博客网 时间:2024/06/01 23:02

前言

保存较小键值集应使用SharedPreferences API。SharedPreferences对象指向包含键值对文件并提供读写这些文件简单方法。每SharedPreferences文件由框架管理并可专用或共享。

SharedPreferences API仅用于读写键值对,不得与Preference API混淆,后者旨在为应用设置构建用户界面(尽管它们使用SharedPreferences作为其实现以保存应用设置)。有关Preference API信息详参设置指南。

获取共享首选项句柄

调以下两方法之一创建新共享首选项文件或访问现有文件。

方法一

getSharedPreferences() 按第一参数指定名称识别多共享首选项文件。可从应用任何Context调此方法。

方法二

getPreferences() 从Activity调用并用Activity一共享首选项。此方法无需提供名称并检索属该Activity默认共享首选项文件。

举例

以下代码于Fragment执行,访问通过资源字符串R.string.preference_file_key所识别共享首选项文件并用专用模式打开,从而仅允许您应用访问文件。

Context context = getActivity();SharedPreferences sharedPref = context.getSharedPreferences(    getString(R.string.preference_file_key), Context.MODE_PRIVATE);

命名共享首选项文件应使用对您应用唯一可识别名称,比如 "com.example.myapp.PREFERENCE_FILE_KEY"。只需Activity一共享首选项文件用getPreferences()方法:

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);

注意

创建MODE_WORLD_READABLEMODE_WORLD_WRITEABLE共享首选项文件,则知道文件标识符任何应用都可访问数据。

存储检索

写入共享首选项

写入共享首选项文件通过SharedPreferences调用edit()创建一SharedPreferences.Editor。传递需用诸如putInt()和putString()方法写入的键和值。然后调commit()保存更改。例如:

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);SharedPreferences.Editor editor = sharedPref.edit();editor.putInt(getString(R.string.saved_high_score), newHighScore);editor.commit();

读取共享首选项

检索共享首选项文件调诸如getInt()和getString()等方法,为所需值提供键并据需提供键不存在情况返回默认值。例如:

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);

参考

List存取

原创粉丝点击