SharedPreference 的简单用法

Android的四大数据存储方式之一“SharedPreference”,其他三个分别是SQLite、Content Provider 和 File

一般使用SharedPreference来存储应用程序的配置信息。它一般存储在应用程序的私有存储区,文件权限是私有的。也就是说只能供写入者读取。它使用键/值(NVP机制)来存储数据。支持的数据类型(boolean、int、float、long和String)。它存储在应用程序的私有目录下(data/data/包名 /shared_prefs/)自定义的XML文件中。
 
1.创建SharedPreference
 
SharedPreference myPreference=getSharedPreferences("myPreference", Context.MODE_PRIVATE);
 
第一个参数:SharedPreference 的名称
第二个参数:打开的方式,一般有两个值(0和MODE_PRIVATE)我们一般用MODE_PRIVATE
 
2.写入,更新SharedPreference
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//获取SharedPreferences对象
 
SharedPreference myPreference=getSharedPreferences("myPreference", Context.MODE_PRIVATE);
//像SharedPreference中写入数据需要使用Editor
Editor editor = myPreference.edit();
 
//存入键值对数据,注意此处的put[type]("key",value);
 
editor.putString("STRING_KEY", "string");
 
editor.putInt("INT_KEY", 0);
editor.putBoolean("BOOLEAN_KEY", true);
 
//提交保存
 
//editor.apply();
editor.commit();

 

提示:

(1)apply和commit都是提交保存,区别在于apply是异步执行的,不需要等待。不论删除,修改,增加都必须调用apply或者commit提交保存。

(2)关于更新:如果已经插入的key已经存在。那么将更新原来的key。

(3)应用程序一旦卸载,SharedPreference也会被删除。

 

 

3.读取

 
复制代码
SharedPreference myPreference=getSharedPreferences("myPreference", Context.MODE_PRIVATE);
//读取这里主要用到了get[type]("key",defaultvalue),第一个参数是要获取的key,第二个参数是默认值,是当没有为这个key保存值的时候使用。
String name=preferences.getString("name", "defaultname");
String age
=preferences.getString("name", "暂无");
String age=preferences.getInt("age", 0);
String age=preferences.getBoolean("isRead", false);
 
复制代码

 

4.检索

SharedPreference myPreference=getSharedPreferences("myPreference", Context.MODE_PRIVATE);
//检查当前键是否存在
boolean isContains=myPreference.contains("key");

//使用getAll可以返回所有可用的键值
//Map<String,?> allMaps=myPreference.getAll();

 

 

 

posted @   仰望 星空  阅读(8754)  评论(0编辑  收藏  举报
编辑推荐:
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
阅读排行:
· 手把手教你更优雅的享受 DeepSeek
· 腾讯元宝接入 DeepSeek R1 模型,支持深度思考 + 联网搜索,好用不卡机!
· AI工具推荐:领先的开源 AI 代码助手——Continue
· 探秘Transformer系列之(2)---总体架构
· V-Control:一个基于 .NET MAUI 的开箱即用的UI组件库
点击右上角即可分享
微信分享提示