有勇气的牛排博客

安卓 应用级首选项 SharedPreferences

有勇气的牛排 1088 安卓 2021-10-16 23:36:12

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移除某一个信息

留言

专栏
文章
加入群聊