SharedPreferences本身是一个接口,程序无法直接创建SharedPreferences的实例,只能通过Context提供的getSharedPreferences(String name,int mode)方法来获取SharedPreferences的实例:
其中有两个参数:第一个参数用于指定SharedPreferences文件的名称(格式为xml文件),如果该名称的文件不存在则会创建一个。第二个参数用于指定操作的模式,如下。
-
MODE_PRIVATE:默认操作模式,只有本应用程序才可以对这个SharedPreferences文件进行读写。
-
MODE_WORLD_READABLE:其他应用对这个SharedPreferences文件只能读不能修改。
-
MODE_WORLD_WRITEABLE:这个SharedPreferences文件能被其他的应用读写。
-
MODE_MULTI_PROCESS:这个模式在Android2.3之后已经弃之不用了,可以省略。
此外还得提一下SharedPreferences.Editor对象的一些主要方法。
-
SharedPreferences.Editor clear():删SharedPreferences中所有的数据。
-
SharedPreferences.Editor putXxx(String key , xxx value): 向SharedPreferences存入指定key对应的数据,其中xxx 可以是booleant等各种基本类型数据 。
-
SharedPreferences.Editor remove(): 删除SharedPreferences中指定key对应的数据项
-
boolean commit(): Editor编辑完成后,使用该方法提交修改。
简单理解:在键值对中存储私有原始数据。
试用范围:用于保存少量数据,且数据的格式非常简单,如应用程序的各种配置信息。常见案例:音乐开关,用户账户设置,用户习惯设置,简单拓展:判断程序是不是第一次运行(使安卓app安卓后引导界面只显示一次)。
总结
最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上相关的我搜集整理的14套腾讯、字节跳动、阿里、百度等2020面试真题解析,我把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包知识脉络 + 诸多细节。
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。
参考。
[外链图片转存中…(img-xtGR4egd-1643780720077)]