Kotlin的一點(diǎn)理解

kotlin是啥?

1,來自JetBrains公司,用了一個小島的名字來命名的,跟Java一樣..
2,同樣運(yùn)行在JVM上
3,靜態(tài)強(qiáng)類型
4,可編譯成JavaScript源碼
5,與Java100%兼容

kotlin的大事兒

2011.6 項(xiàng)目公開
2012.2 開源https://github.com/Jetbrainskotlin
2013.8 支持Android studio
2014.6 全新的開源web站點(diǎn)和域名Kotlinlang.org
2015.3 Eclipse 插件亮相
2015.4 Anko亮相
2016.2 1.0正式版發(fā)布

為什么需要kotlin

1,空類型安全
2,Lambda 表達(dá)式
3,擴(kuò)展方法
4,類型推導(dǎo)
5,勝任Java能做的所有事,并且比Java更簡單
6,沒有分號 ..

一點(diǎn)點(diǎn)歷史而已,關(guān)鍵問題是谷歌爸爸說了,考特林即將成為Android的官方開發(fā)語言,正在緊張的敲項(xiàng)目的我一覺醒來,哎呦呦呦,要失業(yè) 了..

Android用Java開發(fā)了這么10多年了,突然轉(zhuǎn)換為考特林,首先能確定的一點(diǎn)就是谷歌既然換了語言,那肯定考慮好了,既然考慮好了,能咋辦呢,學(xué)唄.就像當(dāng)時的eclipse一樣,開發(fā)工具是真的用eclipse用習(xí)慣了,但谷歌就自己搞了Android studio,你不換行嗎,不行,因?yàn)锳ndroid studio比eclipse強(qiáng)大.所以你還是得屁顛屁顛的跟著換..依稀記得剛開始的時候,用Android studio簡直要死,習(xí)慣最難改.gradle是個啥當(dāng)時一頭霧水.慢慢的慢慢的,不也就好了么...現(xiàn)在倒是還覺得Android studio比eclipse好用多了...

接下來說這個新寵兒Kotlin ...

你的AS里隨便打開個項(xiàng)目,然后點(diǎn)擊settings找到plugins , 然后呢搜Kotlin就行,搜到安裝即可..
要來個圖片嗎?很明顯要的?沒圖你說個辣子串串....

![ ![3.png](http://upload-images.jianshu.io/upload_images/1304787-62b0454cd865f43e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ](http://upload-images.jianshu.io/upload_images/1304787-6ee5803b9aaaa5b3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

好了然后重啟你的Android studio

然后準(zhǔn)備開始吧...

在項(xiàng)目里的module.gradle中添加這么兩句

apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
4.png

然后在project.gradle中這么寫


5.png

好了,開始擼碼子

生成的MainActivity中的代碼和你原來的一樣
shift + ctrl + Alt + k 就生成了kotlin語法的代碼了

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
`}
}

嘖嘖嘖,木有分號,繼承是 : 函數(shù)名為fun,參數(shù)為參數(shù)名 : 參數(shù)類型 , 其實(shí)看看也覺得很簡單是吧.哈哈..
來點(diǎn)小動作mainAvtivity的布局

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.andbase.kt1.MainActivity">

    <TextView
        android:id="@+id/tvKt1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="這是第一次使用kotlin語言"/>

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:text="點(diǎn)擊改變下方文字"
        />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/button"
        android:layout_centerHorizontal="true"
        android:text="來個吐司"
        />
</RelativeLayout>

來個簡單的事件

        tvKt1.text = ("好家伙,這樣就OK了?")
        button.setOnClickListener { tvKt1.text = ("封裝的第一個方法") }
        button1.setOnClickListener { Toast.makeText(this, "出來吧", Toast.LENGTH_SHORT).show()}

這樣寫就成了,運(yùn)行下試試,OK的,沒毛病的..
不用findViewById,編譯時的時候,kotlin導(dǎo)包就找到控件的Id了

import android.content.Context
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.widget.Toast
import kotlinx.android.synthetic.main.activity_main.* //就是這個初始化ViewId的

在看監(jiān)聽事件,就那么一句,感覺確實(shí)用起來不錯,值得學(xué)...其實(shí)換個語言就是換種語法而已,這家伙也是依靠的JVM,和別的什么東西都沒沖突,唯一需要改變的就是語法而已,一個復(fù)雜的語法換成一個簡單的語法,何樂不為(心痛)是吧...

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末普碎,一起剝皮案震驚了整個濱河市悦陋,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡饭玲,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進(jìn)店門叁执,熙熙樓的掌柜王于貴愁眉苦臉地迎上來茄厘,“玉大人,你說我怎么就攤上這事谈宛〈喂” “怎么了?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵入挣,是天一觀的道長。 經(jīng)常有香客問我硝拧,道長径筏,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任障陶,我火速辦了婚禮滋恬,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘抱究。我一直安慰自己恢氯,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布鼓寺。 她就那樣靜靜地躺著勋拟,像睡著了一般。 火紅的嫁衣襯著肌膚如雪妈候。 梳的紋絲不亂的頭發(fā)上敢靡,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天,我揣著相機(jī)與錄音苦银,去河邊找鬼啸胧。 笑死赶站,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的纺念。 我是一名探鬼主播贝椿,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼陷谱!你這毒婦竟也來了烙博?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤叭首,失蹤者是張志新(化名)和其女友劉穎习勤,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體焙格,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡图毕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了眷唉。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片予颤。...
    茶點(diǎn)故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖冬阳,靈堂內(nèi)的尸體忽然破棺而出蛤虐,到底是詐尸還是另有隱情,我是刑警寧澤肝陪,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布驳庭,位于F島的核電站,受9級特大地震影響氯窍,放射性物質(zhì)發(fā)生泄漏饲常。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一狼讨、第九天 我趴在偏房一處隱蔽的房頂上張望贝淤。 院中可真熱鬧,春花似錦政供、人聲如沸播聪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽离陶。三九已至,卻和暖如春衅檀,著一層夾襖步出監(jiān)牢的瞬間枕磁,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工术吝, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留计济,地道東北人茸苇。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像沦寂,于是被迫代替她去往敵國和親学密。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評論 2 349

推薦閱讀更多精彩內(nèi)容