使用 lambda 传递代码、使用可以替换的合理默认值,使用 inline 扩展函数,将这些行为添加到现有 API 中,这种模式是 Android KTX 库提供的典型增强功能。
// 未使用 Android KTX 前实现模式
sharedPreferences
.edit()// create an Editor.putBoolean("key", value).apply()// write to disk asynchronously// Android KTX 模式// SharedPreferences.edit extension function signature from Android KTX - Core// inline fun SharedPreferences.edit(// commit: Boolean = false,// action: SharedPreferences.Editor.() -> Unit)// Commit a new value asynchronously
sharedPreferences.edit {
putBoolean("key", value)}// Commit a new value synchronously
sharedPreferences.edit(commit =true){
putBoolean("key", value)}