使用Kotlin的Android共享首选项,并支持LiveData和Coroutines库

时间:2019-05-08 09:23:05

标签: kotlin sharedpreferences android-databinding coroutine android-livedata

我写了一个小的帮助程序库,用于访问Kotlin Andorid中的共享首选项值。这是我的第一个图书馆,也是我第一次使用Kotlin。 很高兴收到任何反馈意见:)

在Github上可用:https://github.com/nastylion/Pref

implementation 'com.github.nastylion:Pref:0.0.5'

此库可轻松访问Android上的共享首选项。 读取和写入操作由 Kotlin协程执行异步。 扩展功能提供了与 LiveData 的对话。 只需一行代码即可完成。

//string defines the key where the value is stored in the shared preferences
//false = default value & defines the type
val booleanValue = "sharedPreferenceKey".asPref(false) 

//read
booleanValue.get()

//write
booleanValue.set(true)
booleanValue += true

使用共享首选项作为LiveData和Android双向数据绑定的示例:

class MyViewModel: ViewModel() {
 //Holds a MutableLiveData<Boolean> that is set as soon as the shared pref is read on a workerthread
 val switchValue = "switch".asPref(false).asLiveData()
}

//using Two-Way Binding your UI stores changes automatically in shared preferences
<androidx.appcompat.widget.SwitchCompat
                android:id="@+id/switch"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:checked="@={viewModel.switchValue}"/>

0 个答案:

没有答案