Android SharedPreferences 私有数据存储教程
需积分: 10 148 浏览量
更新于2024-08-24
收藏 368KB PPT 举报
"这篇资料主要介绍了Android开发中的首选项信息私有数据存储,特别是如何使用SharedPreferences进行数据存储。"
在Android应用开发中,SharedPreferences是用于存储轻量级、非敏感的私有数据的一个重要工具。它提供了一种简单的方式来保存和读取基本数据类型的数据,如布尔值、整数、浮点数、长整数和字符串。首选项信息通常用于保存用户设置或应用的状态,而不会占用大量存储空间。
`SharedPreferences`的获取可以通过`Context`类提供的两个方法:
1. `getSharedPreferences(String name, int mode)`
这个方法需要两个参数:`name`参数是一个字符串,用来指定SharedPreferences文件的名称。如果文件不存在,系统会自动创建。默认情况下,文件存储在`/data/data/<包名>/shared_prefs/`目录下,文件名为`<name>.xml`。`mode`参数定义了文件的访问权限,例如`MODE_PRIVATE`(默认)表示只有本应用能访问,`MODE_WORLD_READABLE`和`MODE_WORLD_WRITEABLE`分别允许其他应用读写。
2. `getPreferences(int mode)`
这是另一个获取SharedPreferences的方法,它会使用应用的主SharedPreferences文件(基于类名),不需要指定文件名。
一旦获取到`SharedPreferences`实例,我们就可以通过`Editor`来修改和保存数据。`SharedPreferences.Editor`提供了如下操作:
- `putBoolean(String key, boolean value)`:添加或更新布尔值。
- `putInt(String key, int value)`:添加或更新整数值。
- `putLong(String key, long value)`:添加或更新长整数值。
- `putFloat(String key, float value)`:添加或更新浮点数值。
- `putString(String key, String value)`:添加或更新字符串值。
- `putStringSet(String key, Set<String> values)`:添加或更新字符串集合。
在进行修改后,必须调用`commit()`或`apply()`方法来保存更改。`commit()`是同步操作,会立即返回是否保存成功的布尔值;而`apply()`是异步的,不返回任何值,但保证最终会保存数据。通常推荐使用`apply()`,因为它更高效。
以下是一个简单的使用示例:
```java
SharedPreferences sp = getSharedPreferences("myShare", MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.putBoolean("key1", true);
editor.putInt("key2", 1234);
editor.apply(); // 或者 editor.commit();
```
为了读取保存的数据,可以使用`SharedPreferences`的`getString()`, `getInt()`, `getBoolean()`等方法,配合对应的键值:
```java
boolean isTrue = sp.getBoolean("key1", false); // 默认值为false
int number = sp.getInt("key2", -1); // 如果找不到key2,返回-1
```
总结来说,SharedPreferences是Android中一种简单且有效的存储小型数据的方式,适用于存储应用配置、用户设置等信息。它的使用涉及获取实例、编辑数据以及读取数据三个主要步骤,并提供了多种数据类型的存取支持。
2011-11-21 上传
2013-11-06 上传
2015-02-03 上传
2018-01-16 上传
2021-02-04 上传
2012-10-13 上传
2011-06-07 上传
2021-01-21 上传
2021-04-08 上传
顾阑
- 粉丝: 18
- 资源: 2万+
最新资源
- 高清艺术文字图标资源,PNG和ICO格式免费下载
- mui框架HTML5应用界面组件使用示例教程
- Vue.js开发利器:chrome-vue-devtools插件解析
- 掌握ElectronBrowserJS:打造跨平台电子应用
- 前端导师教程:构建与部署社交证明页面
- Java多线程与线程安全在断点续传中的实现
- 免Root一键卸载安卓预装应用教程
- 易语言实现高级表格滚动条完美控制技巧
- 超声波测距尺的源码实现
- 数据可视化与交互:构建易用的数据界面
- 实现Discourse外聘回复自动标记的简易插件
- 链表的头插法与尾插法实现及长度计算
- Playwright与Typescript及Mocha集成:自动化UI测试实践指南
- 128x128像素线性工具图标下载集合
- 易语言安装包程序增强版:智能导入与重复库过滤
- 利用AJAX与Spotify API在Google地图中探索世界音乐排行榜