Android SharedPreferences 是一种轻量级的存储方式,可以用来存储一些简单的数据。在下面的内容中,我会详细介绍SharedPreferences 的存取操作以及封装,其中包含两个示例说明。
什么是SharedPreferences?
SharedPreferences 是一种轻量级的存储方式。它主要用来存放一些简单的键值对数据,比如一些设置参数、用户信息等。在 Android 中,SharedPreferences 保存在应用程序包的/data/data/< package name >/shared_prefs/目录下,是一个 XML 文件。
如何存取SharedPreferences?
SharedPreferences 存取分为写入和读取两部分。
写入SharedPreferences
存储数据到 SharedPreferences 中,通常需要进行以下步骤:
- 获取 SharedPreferences 对象
可以通过以下方式获取SharedPreferences 对象:
SharedPreferences sharedPreferences = context.getSharedPreferences("test", Context.MODE_PRIVATE);
其中,test
是SharedPreferences 文件的名称,Context.MODE_PRIVATE
表示该SharedPreferences 文件只能被应用程序本身访问。
- 获取 SharedPreferences.Editor 对象
在获取 SharedPreferences 对象之后,需要获取 SharedPreferences.Editor 对象用于写入数据:
SharedPreferences.Editor editor = sharedPreferences.edit();
- 向 SharedPreferences.Editor 对象中写入数据
在获取 SharedPreferences.Editor 对象之后,通过以下方法进行数据写入:
editor.putString("key", "value");
其中,key
表示键,value
表示值。SharedPreferences 可以存储的数据类型有 boolean、float、int、long 和 String 等。如果需要存储其他数据类型,可以进行类型转换后再存储。
- 提交数据修改
最后,需要提交 SharedPreferences.Editor 对象的修改,以使修改生效:
editor.apply();
读取SharedPreferences
从 SharedPreferences 中读取数据,通常需要以下步骤:
- 获取 SharedPreferences 对象
与写入操作一样,需要获取SharedPreferences 对象,以便读取 SharedPreferences 中的数据:
SharedPreferences sharedPreferences = context.getSharedPreferences("test", Context.MODE_PRIVATE);
- 读取 SharedPreferences 数据
获取 SharedPreferences 对象后,需要通过以下方式读取SharedPreferences 数据:
String value = sharedPreferences.getString("key", null);
其中,key
是键,null
是默认返回值。如过 key 对应的值不存在,则返回默认值。SharedPreferences 还提供了相应的获取其他数据类型的方法,比如getInt()、getBoolean() 等。
SharedPreferences 的封装
为了方便使用和管理SharedPreferences,通常需要对其进行封装。下面是一个SharedPreferences 的封装类的示例代码:
public class SPUtil {
private static String SP_NAME = "config";
private static SharedPreferences sharedPreferences;
public static void init(Context context) {
sharedPreferences = context.getSharedPreferences(SP_NAME, Context.MODE_PRIVATE);
}
public static void putString(String key, String value) {
sharedPreferences.edit().putString(key, value).apply();
}
public static String getString(String key, String defaultValue) {
return sharedPreferences.getString(key, defaultValue);
}
}
在上述代码中:
SP_NAME
表示SharedPreferences 文件的名称;sharedPreferences
是 SharedPreferences 对象;init()
方法用于初始化SharedPreferences 对象;putString()
方法用于向 SharedPreferences 中写入数据;getString()
方法用于从 SharedPreferences 中读取数据。
示例说明
下面是两个示例的说明:
示例1.
在应用程序中保存用户名和密码信息,可以进行如下设置:
public void saveUserInfo(String username, String password) {
SPUtil.putString("username", username);
SPUtil.putString("password", password);
}
示例2.
应用程序中保存程序是否第一次启动的状态信息,代码如下:
public boolean isFirstLaunch() {
return SPUtil.getBoolean("is_first_launch", true);
}
public void setFirstLaunch(boolean value) {
SPUtil.putBoolean("is_first_launch", value);
}
在上述示例中,通过调用SPUtil 中封装的方法,可以方便的存储和读取SharedPreferences 数据。
总结
以上就是 Android SharedPreferences 的存取操作以及封装的详细攻略,在实际项目中,SharedPreferences 非常方便实用,它可以用来存储一些简单的数据,进行应用程序的设置、用户信息管理等操作。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Android SharedPreferences存取操作以及封装详解 - Python技术站