安卓 应用级首选项 SharedPreferences
知止自律打卡-微信小程序APP
一款微信自律打卡小程序,支持自定义打卡项目、习惯记录、项目日记、专注计时与数据统计。自律打卡、学习打卡、读书打卡、健身打卡、运动打卡、减肥打卡、戒色打卡、养生打卡、戒烟、戒酒、戒熬夜等多种场景。万能打卡模板自由创建。可自定义每日打卡目标,记录习惯连续天数,可视化追踪成长进度。
了解产品详情 →
微信搜索「知止自律打卡」
1 介绍
无需权限,直接使用
Android 提供android.content.SharedPreferences接口,该接口提供允许您保存和检索内置数据类型的持久键 - 值对的框架。
共享首选项将信息存储在XML文件中,该文件位于Android设备的数据文件中,以应用包名称作为子文件夹,例如: 包名为 net.920vip.demo , 怎在系统文件夹/data/data/net.920vip.demo/shared_prefs/ 创建新的xml文件:
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<map>
<string name="prefrence1">Hi</string>
<string name="prefrence2">Hello</string>
</map>
修改共享首选项,需要使用SharedPreferences.Editor
支持的数据类型有:
-
boolean
-
float
-
int
-
long
-
String
2 检索共享首选项
contains(String key):检查指定首选项是否安博涵特定首选项。参数指定要检查的首选项的名称(key)。
-
通俗来讲就是检查有没有相关 键,是否存在
-
返回值为:true/false
sharedPreferences1.contains("int")
getXXX(String key, xxx defValue):从首选项中检索指定数据类型的值(XXX指数据类型,如boolean、String、float)。此方法将要检索的首相项的名称(key)作为其第一个参数。第二个参数表示要返回的值。
3 导包
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
4 写数据
// 创建应用级首选项
SharedPreferences sharedPreferences = getSharedPreferences("mySharedFile", MODE_PRIVATE);
SharedPreferences.Editor edit = sharedPreferences.edit();
// putXXX(String key, XXX value) 仅在调用commit()方法或者apply()方法时,值被写回
edit.putBoolean("bollean", false);
edit.putFloat("float", 10F);
edit.putInt("int", 6);
edit.putLong("long", 10L);
edit.putString("string", "10");
// 将来自编辑器的变更提交到SharedPreferences对象。此方法执行修改。如果连个编辑器在同时修改首选项,则最后一个调用commit()方法编辑器将反映最终值。
edit.commit();
5 读数据
// 获取首选项中的数据
System.out.println("获取首选项中的数据");
SharedPreferences sharedPreferences1 = getSharedPreferences("mySharedFile", MODE_PRIVATE);
boolean bollean1 = sharedPreferences1.getBoolean("boolean",false);
float float1 = sharedPreferences1.getFloat("float", 0f);
int int1 = sharedPreferences1.getInt("int", 0);
long long1 = sharedPreferences1.getLong("logn", 0L);
String string = sharedPreferences1.getString("string"," ");
System.out.println(bollean1);
System.out.println(float1);
System.out.println(int1);
System.out.println(long1);
System.out.println(string);
6 删除数据
edit.clear(); //清空文件的内容 如:退出登录
edit.remove("int"); // 根据key移除某一个信息