赞
踩
SharedPreference是Android设置的一个轻量级的数据存储的方式。它可以将数据以键值对的形式存放到文件中,在你需要的时候再取出来。
有三种获取实例的方法
// Activity类继承Context类,可以直接调用
// 打开指定的文件,如果文件不存在则会创建一个
SharedPreference sharedPreferences = getSharedPreferences("test", MODE_PRIVATE);
// 第一个参数代表文件名,第二个代表读写权限,现在的版本只有MODE_PRIVATE值,表示只有本应用有读写权限
SharedPreference sharedPreferences = getSharedPreference(MODE_PRIVATE);
// Context类方法的简化版,文件名是当前的类名。
SharedPreference sharedPreferences = PreferenceManager.getDefaultSharedPreference(this);
// 传入的参数是context
保存需要用到SharedPreference.Editor,但是用法很简单,保存用键值对的形式保存。
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("name", "SharedPreferenceDemo"); // 第一个参数是key,第二个参数是value
editor.apply(); // 异步提交,是void方法应用之后就会存储
//editor.commit(); // 阻塞式提交,是boolean方法,会返回是否提交成功
注意提交的方式有apply和commit两种,apply是异步提交,用工作线程;commit是阻塞提交,用当前线程。
可以保存的数据类型如下图,不能保存序列化类型。
读取不需要用到Editor,可以直接读取。
String name = sharedPreferences.getString("name", "default");
// 第一个参数是读取的key值,第二个参数是读取失败时的默认值。
其实sharedPreference的性能效率并不高,总结之后有如下几点:
所以对于SharedPreference,其实用起来很简单:
我们的项目一般不用sharedPreference,而是用开源库MMKV来代替它,所以本文也就仅记录一个demo。
Android中的SharedPreferences存储 - 萧安 - 博客园
https://www.cnblogs.com/HenuAJY/p/10933370.html
Android之SharedPreferences简介及使用说明_移动开发_casual_clover的博客-CSDN博客
https://blog.csdn.net/casual_clover/article/details/102466381
SharedPreference为什么不适合存储大量数据_移动开发_YanRu的专栏-CSDN博客
https://blog.csdn.net/u010335298/article/details/72884644
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。