Android Studio 3.0 原生支持kotlin 例子詳解
安卓雖然已經(jīng)成為了移動(dòng)設(shè)備第一操作系統(tǒng),且影響力也延伸到了汽車(chē)和tv端,不過(guò)對(duì)于谷歌來(lái)說(shuō),需要依靠Java來(lái)做安卓開(kāi)發(fā)一直是一個(gè)心病,因?yàn)镺racle公司因?yàn)閖ava和谷歌在安卓系統(tǒng)上的訴訟搞得心力憔悴。
現(xiàn)在好了,谷歌官方正式支持Kotlin(官方網(wǎng)站 https://kotlinlang.org/,居然沒(méi)被墻)成為官方認(rèn)可的安卓開(kāi)發(fā)第一語(yǔ)言,而且從Android Studio 3.0開(kāi)始,將直接集成Kotlin而無(wú)需安裝任何的插件。這個(gè)語(yǔ)言是由JetBrains去年發(fā)明的,它受到歡迎,主要是因?yàn)樗\(yùn)行在Java虛擬機(jī)上,可以和java一起使用來(lái)構(gòu)建應(yīng)用程序。 這意味著開(kāi)發(fā)人員可以使用現(xiàn)有的代碼,輕松地構(gòu)建新的功能或替代Java代碼。 由于Kotlin依賴于Java,所以這兩種語(yǔ)言都將繼續(xù)得到支持。
谷歌將致力于推動(dòng)Kotlin相關(guān)安卓開(kāi)發(fā)工具的發(fā)展,使得使用Kotlin來(lái)開(kāi)發(fā)安卓應(yīng)用更加高效。當(dāng)然生態(tài)系統(tǒng)不是一天就可以創(chuàng)建好的,Kotlin何時(shí)可以取代Java成為安卓開(kāi)發(fā)第一語(yǔ)言還需要時(shí)日。
開(kāi)干吧
假設(shè)你已經(jīng)下載好了android studio 3.0
1.創(chuàng)建項(xiàng)目,必須要選中include Kotlin 不然就還是默認(rèn)java開(kāi)發(fā)

2.下一步, 下一步 然后就完成了(第一次會(huì)很長(zhǎng)的時(shí)間, 因?yàn)槟切?kù)基本上都在國(guó)外,你懂的)

val fab = findViewById(R.id.fab) as FloatingActionButton
這里的”findViewById”可以省略, 我們?cè)偬砑右粋€(gè), 在app/build.gradle里面
apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions'
然后代碼就可以寫(xiě)成
fab.setOnClickListener { view->
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG).setAction("Action", null).show()
}
有沒(méi)有驚喜? 其實(shí)呢, kotlin我最喜歡的還是它的擴(kuò)展特性, 這樣就可以省略了很多工具類. 比如我們給View添加一個(gè)擴(kuò)展方法.
新建一個(gè)kotlin文件:ViewEx, 添加上擴(kuò)展函數(shù)
測(cè)試一下:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val toolbar = findViewById(R.id.toolbar) as Toolbar
setSupportActionBar(toolbar)
fab.setOnClickListener { view->
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG).setAction("Action", null).show()
view.log("測(cè)試擴(kuò)展函數(shù)")
println("擴(kuò)展屬性值:${view.type}")
}
}
打印出結(jié)果:

是不是很方便? 不用單獨(dú)去寫(xiě)什么工具類了.
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android使用Photoview實(shí)現(xiàn)圖片左右滑動(dòng)及縮放功能
這篇文章主要為大家詳細(xì)介紹了Android使用Photoview實(shí)現(xiàn)圖片左右滑動(dòng)及縮放功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01
Android使用http請(qǐng)求手機(jī)號(hào)碼歸屬地查詢代碼分享
這篇文章主要介紹了Android使用http請(qǐng)求手機(jī)號(hào)碼歸屬地查詢代碼分享的相關(guān)資料,需要的朋友可以參考下2016-06-06
fragment中的add和replace方法的區(qū)別淺析
使用 FragmentTransaction 的時(shí)候,它提供了這樣兩個(gè)方法,一個(gè) add , 一個(gè) replace ,對(duì)這兩個(gè)方法的區(qū)別一直有點(diǎn)疑惑。下面小編通過(guò)本文給大家簡(jiǎn)單介紹下fragment中的add和replace方法的區(qū)別,一起看看吧2017-01-01
Android實(shí)現(xiàn)QQ手機(jī)管家懸浮小火箭效果
這篇文章主要介紹了Android實(shí)現(xiàn)QQ手機(jī)管家懸浮小火箭效果,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-05-05
Android數(shù)據(jù)庫(kù)操作工具類分享
這篇文章主要為大家詳細(xì)介紹了Android數(shù)據(jù)庫(kù)操作工具類的相關(guān)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10
Android開(kāi)發(fā)Jetpack組件Lifecycle原理篇
這一篇文章來(lái)介紹Android?Jetpack架構(gòu)組件的Lifecycle;?Lifecycle用于幫助開(kāi)發(fā)者管理Activity和Fragment?的生命周期,?由于Lifecycle是LiveData和ViewModel的基礎(chǔ);所以需要先學(xué)習(xí)它2022-08-08
android滑動(dòng)解鎖震動(dòng)效果的開(kāi)啟和取消
在4.0的圓環(huán)滑動(dòng)解鎖中,我們點(diǎn)擊下去的時(shí)候會(huì)有震動(dòng)效果,因?yàn)檫@個(gè)控件設(shè)置的震動(dòng)效果沒(méi)有綁定設(shè)置中設(shè)置的觸摸振動(dòng)開(kāi)關(guān)來(lái)取消振動(dòng)效果,下邊這個(gè)例子實(shí)現(xiàn)了開(kāi)啟和取消的方法2013-06-06
保持Android Service在手機(jī)休眠后繼續(xù)運(yùn)行的方法
下面小編就為大家分享一篇保持Android Service在手機(jī)休眠后繼續(xù)運(yùn)行的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-03-03
Flutter調(diào)用Android和iOS原生代碼的方法示例
這篇文章主要給大家介紹了關(guān)于Flutter調(diào)用Android和iOS原生代碼的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Flutter具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
Android內(nèi)容提供者ContentProvider用法實(shí)例分析
這篇文章主要介紹了Android內(nèi)容提供者ContentProvider用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了內(nèi)容提供者ContentProvider獲取及解析數(shù)據(jù)的相關(guān)技巧,需要的朋友可以參考下2016-03-03

