Android Studio 3.0 原生支持kotlin 例子詳解
安卓雖然已經(jīng)成為了移動設(shè)備第一操作系統(tǒng),且影響力也延伸到了汽車和tv端,不過對于谷歌來說,需要依靠Java來做安卓開發(fā)一直是一個心病,因為Oracle公司因為java和谷歌在安卓系統(tǒng)上的訴訟搞得心力憔悴。
現(xiàn)在好了,谷歌官方正式支持Kotlin(官方網(wǎng)站 https://kotlinlang.org/,居然沒被墻)成為官方認(rèn)可的安卓開發(fā)第一語言,而且從Android Studio 3.0開始,將直接集成Kotlin而無需安裝任何的插件。這個語言是由JetBrains去年發(fā)明的,它受到歡迎,主要是因為它運(yùn)行在Java虛擬機(jī)上,可以和java一起使用來構(gòu)建應(yīng)用程序。 這意味著開發(fā)人員可以使用現(xiàn)有的代碼,輕松地構(gòu)建新的功能或替代Java代碼。 由于Kotlin依賴于Java,所以這兩種語言都將繼續(xù)得到支持。
谷歌將致力于推動Kotlin相關(guān)安卓開發(fā)工具的發(fā)展,使得使用Kotlin來開發(fā)安卓應(yīng)用更加高效。當(dāng)然生態(tài)系統(tǒng)不是一天就可以創(chuàng)建好的,Kotlin何時可以取代Java成為安卓開發(fā)第一語言還需要時日。
開干吧
假設(shè)你已經(jīng)下載好了android studio 3.0
1.創(chuàng)建項目,必須要選中include Kotlin 不然就還是默認(rèn)java開發(fā)
2.下一步, 下一步 然后就完成了(第一次會很長的時間, 因為那些庫基本上都在國外,你懂的)
val fab = findViewById(R.id.fab) as FloatingActionButton
這里的”findViewById”可以省略, 我們再添加一個, 在app/build.gradle里面
apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions'
然后代碼就可以寫成
fab.setOnClickListener { view-> Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG).setAction("Action", null).show() }
有沒有驚喜? 其實呢, kotlin我最喜歡的還是它的擴(kuò)展特性, 這樣就可以省略了很多工具類. 比如我們給View添加一個擴(kuò)展方法.
新建一個kotlin文件:ViewEx, 添加上擴(kuò)展函數(shù)
測試一下:
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("測試擴(kuò)展函數(shù)") println("擴(kuò)展屬性值:${view.type}") } }
打印出結(jié)果:
是不是很方便? 不用單獨(dú)去寫什么工具類了.
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android 實現(xiàn)ListView的點(diǎn)擊變色的實例
這篇文章主要介紹了Android 實現(xiàn)ListView的點(diǎn)擊變色的實例的相關(guān)資料,主要實現(xiàn)Android listveiw ItemClickListener寫入變色的功能,需要的朋友可以參考下2017-07-07詳談Android動畫效果translate、scale、alpha、rotate
下面小編就為大家?guī)硪黄斦凙ndroid動畫效果translate、scale、alpha、rotate。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-01-01Android用代碼獲取手機(jī)root之后的最高權(quán)限
機(jī)得root之后通過代碼可以獲得最高權(quán)限如果沒有root的話請不要往下看,毫無意義,root之后的朋友可以參考下本文或許有意想不到的收獲2013-03-03Android實現(xiàn)本地圖片選擇及預(yù)覽縮放效果
這篇文章主要為大家詳細(xì)介紹了Android仿春雨醫(yī)生,實現(xiàn)本地圖片選擇及預(yù)覽縮放效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-03-03Android框架Volley使用之Json請求實現(xiàn)
這篇文章主要介紹了Android框架Volley使用之Json請求實現(xiàn),本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值 ,需要的朋友可以參考下2019-05-05Flutter中如何加載并預(yù)覽本地的html文件的方法
這篇文章主要介紹了Flutter中如何加載并預(yù)覽本地的html文件的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11