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_READABLE
或MODE_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存取
- SharedPreferences
- SharedPreferences
- SharedPreferences
- SharedPreferences
- SharedPreferences
- SharedPreferences
- SharedPreferences
- SharedPreferences
- SharedPreferences
- SharedPreferences
- SharedPreferences
- SharedPreferences
- SharedPreferences
- SharedPreferences
- SharedPreferences
- SharedPreferences
- SharedPreferences
- sharedPreferences
- Zookeeper详解
- [RK3288][Android6.0] USB OTG模式及切换
- 基于Intellij IDEA的python开发
- 内部类的方法(外部调用内部类的方法)
- 12种开源Web安全扫描程序
- SharedPreferences
- 配置
- 中级工程师之路之优雅代码之道
- 自定义View(二-番外8)
- 早安
- 2017_11_24 学习echarts之屏幕自适应、div充满整个屏幕
- java 异常java.lang.UnsupportedOperationException(转)
- The precise meaning of I/O wait time in Linux
- 树莓派通过DHT11温湿度传感器获得当前的温度和湿度