AndroidSharedPreferences教程:数据存储
61 浏览量
更新于2024-08-29
收藏 101KB PDF 举报
"在Android开发中,使用SharedPreferences进行数据存储是一种常见的做法。SharedPreferences是一个轻量级的存储机制,非常适合用来保存应用程序的配置参数。与Windows软件中的ini文件或Java应用中的properties、xml文件不同,Android提供了SharedPreferences类来方便开发者进行数据持久化。通过SharedPreferences,数据会被存储到XML文件中,位于应用的私有目录/data/data/<包名>/shared_prefs下。
使用SharedPreferences进行数据操作主要涉及以下几个步骤:
1. 获取SharedPreferences实例:通过调用`getSharedPreferences(String name, int mode)`方法,其中`name`参数是文件的名称,不包括.xml后缀,系统会自动加上。`mode`参数定义了文件的访问权限,通常使用`Context.MODE_PRIVATE`,表示只有本应用能访问。如果需要其他应用也能读写,可以使用`Context.MODE_WORLD_READABLE`和`Context.MODE_WORLD_WRITEABLE`。
2. 获取Editor对象:通过调用SharedPreferences实例的`edit()`方法,得到一个Editor对象,用于对数据进行修改。
3. 插入或修改数据:使用Editor对象的方法,如`putString(String key, String value)`来保存字符串,`putInt(String key, int value)`来保存整型值等。
4. 提交修改:调用Editor对象的`commit()`方法,将所有改动保存到SharedPreferences文件中。如果使用的是AndroidX,推荐使用`apply()`代替`commit()`,因为`apply()`是异步操作,不会阻塞主线程。
示例代码如下:
```java
SharedPreferences sharedPreferences = getSharedPreferences("ljq", Context.MODE_PRIVATE);
Editor editor = sharedPreferences.edit();
editor.putString("name", "林计钦");
editor.putInt("age", 24);
editor.commit(); // 或者使用 editor.apply();
```
这会在共享偏好文件中创建一个名为“ljq”的XML文件,内容类似于:
```xml
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<string name="name">林计钦</string>
<int name="age" value="24"/>
</map>
```
除了基本的数据类型,SharedPreferences还支持保存布尔值(`putBoolean()`)、浮点数(`putFloat()`)、长整型(`putLong()`)以及集合(`putStringSet()`)。在取出数据时,对应使用`getString()`, `getInt()`, `getBoolean()`, `getFloat()`, `getLong()`以及`getStringSet()`方法。
此外,Activity类还提供了快捷方法`getPreferences(int mode)`,它会使用当前Activity的类名作为文件名来获取SharedPreferences实例,这在处理Activity内的简单设置时非常方便。
SharedPreferences是Android中用于轻量级数据存储的一个实用工具,它的使用简单且高效,能满足大部分应用程序配置参数的保存需求。由于它是基于XML的,所以数据具有良好的可读性,并且可以跨进程共享(根据mode参数设置)。在开发过程中,合理利用SharedPreferences可以有效地管理应用的状态和用户设置。"
2021-01-21 上传
2020-09-02 上传
2018-09-10 上传
2020-08-31 上传
2020-09-05 上传
2019-03-28 上传
2017-04-04 上传
2016-05-27 上传
2020-08-30 上传
weixin_38706197
- 粉丝: 2
- 资源: 978