
KTX擴展庫是Google推出的用于Android開發(fā)的kotlin擴展庫,他的目的就是為了讓我們在開發(fā)Android的時候更加方便和高效。
Android KTX 是什么呢?簡單來說,它就是類似于我們開發(fā)中常用的 Support Library 這種支持類庫,提供一些非常人性化的 APIs 來幫助使用開發(fā)人員更簡潔、更符合編程習慣地編寫 Kotlin 代碼。他有一個目標 不向現(xiàn)有的API添加新的功能,通過kotlin語法特性讓Android開發(fā)更加簡單。
關于Google的KTX庫的github地址為: KTX擴展庫
想要使用KTX,首先需要引入依賴包,在build.gradle文件中添加:
repositories {
google()
}
dependencies {
implementation 'androidx.core:core-ktx:1.0.0-alpha1'
}
這里我講幾個常見的函數(shù)
forEach
這個函數(shù)是用來遍歷根結點里面的元素是否有指定的子結點,并且對子結點進行相應的操作。
var linearLayout = findViewById<LinearLayout>(R.id.linear_root);
linearLayout.forEach {
if (it is TextView){
it.text = "hello";
}
}
我們看到,代碼中首先遍歷了linearLayout這個根布局,從里面查找是否有TextView這個控件,如果有則賦值類似于setText()操作。
SharedPreferences
在Java中使用SharedPreferences常常會因為忘記寫apply或者commit而導致不生效,而在kotlin中卻不需要這么做便可以做到這點。
getSharedPreferences("test", Context.MODE_PRIVATE).edit()
.putBoolean("boolean",true)
.putFloat("float",1.1f)
.putInt("Int",100)
.putString("String","String")
.putStringSet("StringSet", mutableSetOf());
var boolean = getSharedPreferences("test", Context.MODE_PRIVATE)
.getBoolean("boolean",false);
看到在kotlin中的SharedPreferences除了可以存儲一般的數(shù)據(jù)類型還可以存儲集合mutableSetOf,并且可以在不需要寫apply或者commit的情況下就可以完成存儲。
KTX庫中還有許許多多的函數(shù),他幾乎可以涵蓋你在平時開發(fā)過程中的方方面面的內(nèi)容。
有興趣的可以去github上查看相應庫的代碼和實現(xiàn)方式,KTX庫的函數(shù)都十分簡單,相信應該可以看懂。
如果覺得我的文章能夠幫助到你,也歡迎關注我的微信公眾號「晨雨細曲」,有新技術和知識會推送在這上面。