SharedPreferences
是 Android 平台上用于存储轻量级数据的一种机制。它使用键值对的方式来存储数据,适合存储一些简单的配置信息,如用户设置、应用状态等。SharedPreferences
数据存储在 XML 文件中,位于应用的私有目录下,只能被该应用访问。
SharedPreferences
支持以下几种数据类型:
int
long
float
boolean
String
Set<String>
在没有未来构建器(假设是指没有使用 Kotlin 的 apply
或 commit
方法)的情况下,可以通过以下方式获取 SharedPreferences
中的值:
// 获取 SharedPreferences 实例
SharedPreferences sharedPreferences = getSharedPreferences("MyPrefs", MODE_PRIVATE);
// 获取值
String value = sharedPreferences.getString("key", "default_value");
int intValue = sharedPreferences.getInt("int_key", 0);
boolean boolValue = sharedPreferences.getBoolean("bool_key", false);
原因:
SharedPreferences
中不存在。SharedPreferences
中。解决方法:
// 保存数据
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("key", "saved_value");
editor.apply(); // 或者 editor.commit();
// 获取数据
String value = sharedPreferences.getString("key", "default_value");
解决方法:
apply()
方法异步保存数据,适用于大多数情况。commit()
方法,但该方法会阻塞当前线程。SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("key", "saved_value");
editor.apply(); // 异步保存
// 或者
editor.commit(); // 同步保存
通过以上信息,你应该能够理解 SharedPreferences
的基础概念、优势、类型、应用场景,并解决一些常见问题。
云+社区技术沙龙[第10期]
云+社区沙龙online [新技术实践]
TVP技术夜未眠
Hello Serverless 来了
云+社区技术沙龙第33期
技术创作101训练营
DBTalk技术分享会
高校开发者
Techo Day
“中小企业”在线学堂
Techo Youth X HiFlow场景连接器
云+社区沙龙online [国产数据库]
领取专属 10元无门槛券
手把手带您无忧上云