我写了一个小的帮助程序库,用于访问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}"/>