OkPreference-超好用的App配置信息管理工具

一、概述

在開發(fā)過程中通常需要保存用戶或App的一些配置信息,如token,DeviceNo,OkPreference是一個(gè)管理配置信息的工具庫,
可以方便的管理需要配置的字段,字段支持Long,Int,Boolean,String,F(xiàn)loat五種基本類型,也可以是任意類。

二、版本

已上傳JitPack,最新版本1.2,直接在gradle中添加依賴即可。
compile 'com.github.Tailyou:OkPreference:1.2'

三、使用

3.1 app build.gradle中添加依賴

dependencies {
    compile 'com.github.Tailyou:OkPreference:1.2'
}

3.2 root build.gradle中添加

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

3.3 繼承PreferenceHolderApplication或在自定義的Application中添加如下代碼:

    override fun onCreate() {
        super.onCreate()
        ...
        PreferenceHolder.setContext(applicationContext)
    }

3.4 繼承PreferenceHolder,添加需要配置的字段

const val CHINESE: Int = 1
const val ENGLISH: Int = 2
const val JAPANESE: Int = 3
const val DEFAULT_DEVICE_NO: String = "AG10000000000"

object AppConfig : PreferenceHolder() {
    var deviceNo: String by bindToPreferenceField(DEFAULT_DEVICE_NO, "DeviceNo")
    var language: Int by bindToPreferenceField(CHINESE, "Language")
}

object UserConfig : PreferenceHolder() {
    var user: User? by bindToPreferenceFieldNullable("User")
    var token: String? by bindToPreferenceFieldNullable("Token")
}

data class User(
        var name: String,
        var age: Int
)

3.5 取值、賦值

tvDeviceNo.text = AppConfig.deviceNo
btnChangeDeviceNo.setOnClickListener {
    AppConfig.deviceNo = "AG100000000" + String.format("%02d", Random().nextInt(100))
    tvDeviceNo.text = AppConfig.deviceNo
}
btnSaveEntity.setOnClickListener {
    UserConfig.user = User("tailyou", 20)
    toast((UserConfig.user as User).name)
}

具體用法參見Demo,項(xiàng)目地址:https://github.com/Tailyou/OkPreference

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,534評(píng)論 19 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,261評(píng)論 6 342
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,881評(píng)論 25 709
  • Gradle配置最佳實(shí)踐 本文會(huì)不定期更新,推薦watch下項(xiàng)目。如果喜歡請(qǐng)star,如果覺得有紕漏請(qǐng)?zhí)峤籭ssu...
    Solang閱讀 1,763評(píng)論 0 4
  • 梧桐zyd閱讀 217評(píng)論 0 4

友情鏈接更多精彩內(nèi)容