一、SharedPreference的特点
-
是Android中用于存储应用程序的轻量级数据的一种机制,使用xml的方式存储。
-
它的主要作用是用来存储和读取简单的键值对数据,通常用来保存一些小量的数据,比如用户的登录状态、设置项等。
-
与数据库相比,SharedPreference更适合用来存储简单的数据,而数据库更适合存储结构化的数据。
二、SharedPreference涉及的类
- SharedPreferences:用于访问和修改SharedPreference中的数据。
//SharedPreferences的使用(获取SharedPreferences对象) SharedPreferences sharedPreferences = getSharedPreferences("user",MODE_PRIVATE);
- SharedPreferences.Editor:用于编辑SharedPreference中的数据。
//Editor的使用(获取Editor对象的引用) SharedPreferences.Editor editor = sharePreferences.edit();
三、使用SharedPreference的步骤
- 获取SharedPreference对象:通过Context类的getSharedPreferences方法获取SharedPreference对象。
- 获取Editor对象:通过SharedPreference对象的edit方法获取Editor对象。
- 存储数据:通过Editor对象的putXxx方法存储数据,其中Xxx可以是int、float、boolean等基本数据类型。
- 提交数据:通过Editor对象的commit或apply方法提交数据,完成数据的存储操作。
- 读取数据:通过SharedPreference对象的getXxx方法读取数据,其中Xxx对应存储时的数据类型。
// 1.获取SharedPreference对象 SharedPreferences sharedPreferences = getSharedPreferences("my_preferences", Context.MODE_PRIVATE); // 2.获取Editor对象 SharedPreferences.Editor editor = sharedPreferences.edit(); // 3.存储数据 editor.putString("username", "john.doe"); editor.putInt("age", 25); editor.putBoolean("is_logged_in", true); // 4.提交数据 editor.apply(); // 5.读取数据 String username = sharedPreferences.getString("username", ""); int age = sharedPreferences.getInt("age", 0); boolean isLoggedIn = sharedPreferences.getBoolean("is_logged_in", false);
附:SharedPreferences的参数
Context.MODE_PRIVATE | 私有模式 | 默认操作模式,表示创建的文件只能被当前应用访问 |
Context.MODE_WORLD_READABLE | 可读模式 | 表示创建的文件可以被其他应用读取 |
Context.MODE_WORLD_WRITEABLE | 可写模式 | 表示创建的文件可以被其他应用写入 |