[Day8] Android - Kotlin笔记:JetPack - Core KTX

Core KTX 包含的module有:

androidx.core.animation
androidx.core.content
androidx.core.content.res
androidx.core.database
androidx.core.database.sqlite
androidx.core.graphics
androidx.core.graphics.drawable
androidx.core.location
androidx.core.net
androidx.core.os
androidx.core.text
androidx.core.transition
androidx.core.util
androidx.core.view
androidx.core.widget

这些要一个一个说的话,大概30天都说不完。
所以举几个看过比较有趣的。
剩下的大家可以自己试试,细细品味 :)


主要介绍的有:

  • Toast
  • SharedPreferences
  • TextWatcher
  • isVisible

Toast

原本写法:

Toast.makeText(this,
    R.string.text,
    Toast.LENGTH_SHORT).show()

使用core KTX:

context.toast(R.string.text)

SharedPreferences

inline fun SharedPreferences.edit(
    commit: Boolean = false, 
    action: Editor.() -> Unit
): Unit

储存资料至的简洁用法

用法 ex:

spf.edit(commit = true) {
    putString(key, value)
}

对 这写法真的很舒服 (¯︶¯)
使用前记得先宣告spf:

private val spf by lazy { 
    this.getSharedPreferences(getString(R.string.preference_file_key), Context.MODE_PRIVATE) 
}

TextWatcher

TextView.doAfterTextChanged(crossinline action: (text: Editable?) -> Unit)

只有需要afterTextChanged底下做其他事,
不需要再写落落ㄉㄥˊ的:

        textView.addTextChangedListener(object : TextWatcher {
            override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
            }

            override fun onTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
            }

            override fun afterTextChanged(p0: Editable?) {
                //do something
            }

        })

直接简化:

textView.doAfterTextChanged {
    //do something
}

isVisible

inline var View.isVisible: Boolean

以前:

textView.visibility = if (isLogin) {
        View.VISIBLE
    } else {
        View.GONE
    }

直接简化:

textView.isVisible = isLogin

好舒服(¯︶¯)


Core的用法先介绍到这,
如果还有兴趣,可以从官网中挖宝喔。


<<:  [Day2] 引擎简介 - RPG Maker

>>:  [Day 6] 使用 kotlinx.serialization 转换 JSON

Day19 Plugin 从零开始到上架 - 取得授权码(Android)

目标 取得INSTAGRAM_CLIENT_ID、INSTAGRAM_CLIENT_SECRET 和...

Day9 Pandas模组一

今天的影片内容为介绍具有强大功能的Pandas模组(对...熊猫模组) 利用这个模组,可以很方便的执...

如何入手数位行销创造转换率

数位行销使您能够每天跟踪活动,并减少您在某个渠道上的支出。传统的广告形式则不一定了,即使您的收益很差...

Day5 - LINE 官方帐号图文选单

LINE 官方帐号分享好友功能说明:https://developers.line.biz/en/d...

Python 关系运算符号和if用法

今天要来教大家数学的关系运算,也就是大於、等於、不等於...等等的,还有if的用法,就是假如某件事成...