优雅地管理App内配置 - SmartKey

19 篇文章 0 订阅
9 篇文章 0 订阅

介绍

利用Kotlin委托实现优雅地持久化存储App配置。
使用一个类搞定App的配置。

基本使用

  1. 在Application中初始化:
SmartKet.init(context)
  1. 定义配置类:
//这里可以注解配置存储文件名,多个配置类可分文件存储
@Config("app_config")
object AppConfig {

    /**
     * 基本类型存储
     */
    var text: String by SmartKey("defaultValue")
    var number: Int  by SmartKey(50)

    /**
     * 其他类型使用:[SmartKey.auto]
     */
    var intArr: Array<Int> by SmartKey.auto(emptyArray())

    var userInfo: UserInfo? by SmartKey.auto(null)

}

data class UserInfo(
        val name: String
)
  1. 使用

此时你可以像这样使用:

//获取存储值
val value = AppConfig.text
val n = AppConfig.number 

//实时存储
AppConfig.text = "setValue"
AppConfig.number = 0

//存储登录用户数据
AppConfig.userInfo = UserInfo("new_user")

demo

更多

  • 你可以指定变量对应存储的key:
    //指定key 或 keyId
    var text: String by SmartKey("defaultValue", key = "your_key", keyId = R.string.key_text)
    
  • 选择是否加密数据:
    //使用encrypt来声明加密存储数据
    var userInfo: UserInfo? by SmartKey.auto(null, encrypt = true)

  • 使用SmartKey直接操作 key 和 value
//使用默认存储文件存取
SmartKey["text"] = "aaa" 
val n = SmartKey["number", -1] //key, defaultValue

//指定配置文件存取
SmartKey["app2", "key"] = 1
val s = SmartKey["app2", "text", "default"]//configName, key, defaultValue

//另外,key可使用StringRes 来代替 
val t = SmartKey[R.string.key_of_text, "default"]

引入SmartKey

参见 引入SmartKey

Thanks

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值