SharePreference应用
在App中,需要暂时存储的,我们可以利用SharePreference,我们把存储的轻量级数据,例如一个字符串,一个数字,写入shared preferences。当我们需要数据,再从中读取
何为 sharedPreference
shared preferences本质上就是文件系统中的文件,可使用SharedPreferences类读写它。
SharedPreferences实例用起来更像一个键值对仓库(类似于Bundle),但它可以通过持久化存储保存数据。(也就意味着应用关闭之后仍然有效)键值对中的键为字符串,而值是原子数据类型。进一步查看shared preferences文件可知,它们实际上是一种简单的 XML 文件,但SharedPreferences类已屏蔽了读写文件的实现细节。shared preferences文件保存在应用沙盒中,所以,不应用它保存类似密码这样的敏感信息。
使用
请看下面代码
1 | public class QueryPreferences { |
QueryPreference 类中,我们定义了两个方法,分别用来存储信息和取出信息。由于我们存储的键值对只有一种,且维持一个,所以我们在类的一开始把 Key 固定。
值得注意的是,我们要传递上下文信息 Context ,只有找到自己 context对应的 SharedPrefernce 才可以找到与之对应的键值对。
需要补充的是,现在android原生库中的sharedPreference被官方标注为不推荐使用。具体原因其实是 扩展库中的 sharedPreference 支持更多的存储类型,可以看一下 Google 开发者在18年11月发布的一段新特性视频其中介绍了关于扩展库中 sharedPreference 的特性。
我们选择 sharedPreference 时,引进扩展库 androidx 即可,函数逻辑基本一致
引进库代码:
java
implementation "androidx.preference:preference:1.1.0"
`
在build.gradle