共享参数的用法
➢SharedPreferences 是Android的一个轻量级存储工具,采用的存储结构是Key-Value的
键值对方式。
➢共享参数的存储介质是符合XML规范的配置文件。保存路径是: /data/data/ 应用包名/s
hared_ .prefs/文件 名.xml
➢共享参数SharedPreferences主要适用于如下场合:
●简单且孤立的数据。若是复杂且相互间有关的数据,则要保存在数据库中。
●文本形式的数据。若是二进制数据,则要保存在文件中。
●需要持久化存储的数据。在App退出后再次启动时,之前保存的数据仍然有效。
➢实际开发中,共享参数经常存储的数据有App的个性化配置信息、用户使用App的行为信息、临时需要保存的片段信息等。
SharedPreferences的使用
SharedPreferences是Android提供的一种轻量级的数据存储方式,用于存储和读取简单的键值对数据。它可以用来保存应用程序的配置信息、用户偏好设置等。
要使用SharedPreferences,需要执行以下步骤:
- 获取SharedPreferences对象。可以通过调用
getSharedPreferences()
方法或PreferenceManager.getDefaultSharedPreferences()
方法来获取。
SharedPreferences sharedPreferences = getSharedPreferences("my_preferences", Context.MODE_PRIVATE);
- "my_preferences"是SharedPreferences的名称,可以自定义。
- Context.MODE_PRIVATE表示该SharedPreferences只能被当前应用程序访问。
- 编辑SharedPreferences数据。可以通过调用SharedPreferences对象的
edit()
方法获取一个SharedPreferences.Editor对象,然后使用该Editor对象进行数据的编辑。
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("username", "John");
editor.putInt("age", 25);
editor.putBoolean("isMarried", false);
editor.apply();
- 使用
putString()
、putInt()
、putBoolean()
等方法来存储不同类型的数据。 - 使用
apply()
方法或commit()
方法来提交数据的修改。
- 读取SharedPreferences数据。可以通过调用SharedPreferences对象的相应方法来读取存储的数据。
String username = sharedPreferences.getString("username", "");
int age = sharedPreferences.getInt("age", 0);
boolean isMarried = sharedPreferences.getBoolean("isMarried", false);
- 使用
getString()
、getInt()
、getBoolean()
等方法来读取不同类型的数据。 - 第二个参数是默认值,如果SharedPreferences中没有存储对应的键值对,则返回默认值。
完整的示例代码如下:
// 获取SharedPreferences对象
SharedPreferences sharedPreferences = getSharedPreferences("my_preferences", Context.MODE_PRIVATE);
// 编辑SharedPreferences数据
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("username", "John");
editor.putInt("age", 25);
editor.putBoolean("isMarried", false);
editor.apply();
// 读取SharedPreferences数据
String username = sharedPreferences.getString("username", "");
int age = sharedPreferences.getInt("age", 0);
boolean isMarried = sharedPreferences.getBoolean("isMarried", false);
这段代码会创建一个名为"my_preferences"的SharedPreferences对象,并存储了一个用户名、年龄和婚姻状况的键值对数据。然后通过读取相应的键值对数据,将其存储在相应的变量中。