概述
SharedPreferences作为android开发中最常用的持久化存储方案,非常适合属性和配置的本地存储(另外也可以使用本地文件、数据库的方式实现持久化)。虽然SharedPreferences的使用较为方便,但是维护起来确非常的麻烦,我们很容易定义出冗余的配置,也可能会生成大量的配置文件,甚至我们没有足够的信心来确定,定义的属性是否被重复定义(会导致隐晦bug)。现基于Kotlin来进行面向对象API的封装(使用到的技术有:类扩展、动态代理、注解等)。
使用
gradle中配置
implementation 'com.zhangzheng.easystore:library:1.1.0'
Application初始化
EasyStore.init(this)
SharedPreferences的获取需要通过Context,因为考虑到使用的简便性,和后续的可扩展性,没有采用在使用的时候传递Context的方式。
Demo示例
定义数据结构接口
interface TestStorage :Storable{
var name:String
var count:Int
var isBool:Boolean
}
在TestStorage配置文件中,配置了三个属性,这里只需要定义接口,不需要具体的实现,用来描述存储的数据结构