認識一下Kotlin語言,Android平臺的Swift

yangxi_001發表於2016-04-21

轉自:http://blog.csdn.net/lee576/article/details/50697889

今天在CSDN首頁偶然看到一個貼子JetBrains正式釋出Kotlin 1.0:JVM和Android上更好用的語言
看完後,感覺Kotlin語法很簡潔,有一系列動態語言的特點,Lambda表示式,高階函式,閉包,甚至有靜態語言的型別檢查,最核心的一點,寫同樣的功能,Kotlin 的程式碼量要少很多。

以下是JAVA的一個資料類

public class Artist {
    private long id;
    private String name;
    private String url;
    private String mbid;

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public String getMbid() {
        return mbid;
    }

    public void setMbid(String mbid) {
        this.mbid = mbid;
    }

    @Override public String toString() {
        return "Artist{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", url='" + url + '\'' +
                ", mbid='" + mbid + '\'' +
                '}';
    }
}

如果是C# 3.0及以上呢,你不會看到一堆Set(),Get()方法,相比更簡潔

public Class xxxx
{
    public int AAAA {set;get;}
    public string BBBB {set;get;}
    ......
}

但是Kotlin的程式碼實在是太簡潔了,比C#還勝一籌

data class Artist(
    var id: Long,
    var name: String,
    var url: String,
    var mbid: String)

再舉一個例子,在使用JAVA開發Android App的時候,要獲取Activity中的控制元件總是要呼叫findViewById

private ShimmerTextView mActionBarTitle;
 mActionBarTitle = (ShimmerTextView) view.findViewById(R.id.tv_shimmer);

這樣的寫法非常的累贅和讓人厭煩,還得先定義一個控制元件型別,呼叫findViewById來獲取控制元件物件,但是在Kotlin中findViewById方法被徹底拋棄了,比如說有一個Activity裡面有一個TextView,它的ID為myMessage,那麼在Kotlin中可以匯入它

import kotlinx.android.synthetic.another_activity.myMessage

現在你可以通過使用id來訪問TextView,就像該TextView是Activity類的一個屬性一樣。例如,修改TextView顯示的字串:

myMessage.setText("Hello")

那如果要訪問很多控制元件呢?一個個匯入還是很麻煩,這個時候可以選擇匯入Activity上的所有控制元件

import kotlinx.android.synthetic.another_activity.*

以上的例子我基本節選如下的幾篇文章
Kotlin在Android工程中的應用
使用Kotlin開發Android應用(I):簡介
使用Kotlin開發Android應用(II):建立新工程
使用Kotlin開發Android應用(III):擴充套件函式和預設值
使用Kotlin開發Android應用(IV):自定義檢視和Android擴充套件
用Kotlin語言寫的MVVM開發框架

相關文章