認識一下Kotlin語言,Android平臺的Swift
轉自: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開發框架
相關文章
- Kotlin:Android世界的SwiftKotlinAndroidSwift
- Kotlin成為正式的Android程式語言KotlinAndroid
- Kotlin 都轉正成 Android 官方語言了,你還不試一下?KotlinAndroid
- 快速認識,後端王者語言:Java後端Java
- Java語言與平臺的區別Java
- NDK探究之旅《二》——C語言的基本認識C語言
- 認識物聯網平臺架構架構
- 關於跨平臺的一些認識
- Android 騰訊Bugly熱更新接入(Kotlin語言)AndroidKotlin
- 【譯】將 Android 專案遷移到 Kotlin 語言AndroidKotlin
- Android谷歌官方語言Kotlin用法入門教程Android谷歌Kotlin
- 大事件:Kotlin 成了 Android 開發的官方語言事件KotlinAndroid
- 快速認識,前端必學程式語言:JavaScript前端JavaScript
- 談下自己的認識只掌握一門語言
- python是跨平臺的語言嗎Python
- Kotlin 概覽——如何看待 Google 將 Kotlin 選為 Android 官方語言?KotlinGoAndroid
- Swift多語言版本的建立Swift
- Swift 語言的字串與字元Swift字串字元
- Swift 語言的基本運算子Swift
- Swift 語言基礎Swift
- 我不懂 Swift 語言Swift
- Kotlin 程式語言初探Kotlin
- 自媒體平臺有哪些?這些平臺你都認識嗎?
- 使用 Swift 語言編寫 Android 應用入門SwiftAndroid
- Python語言認識和實用工具(1)Python
- C語言學習之認識exit()函式C語言函式
- Go語言將登陸安卓平臺Go安卓
- Swift 語言的設計錯誤Swift
- Kotlin-first - 谷歌宣佈Kotlin成為Android開發首選語言Kotlin谷歌Android
- Swift 新語言開發Swift
- Swift語言快速入門Swift
- 淺談Swift程式語言Swift
- JAVA語言為什麼能跨平臺?Java
- 語雀-西湖邊上最好的知識管理平臺
- Kotlin 語言入門寶典 | Android 開發者 FAQ Vol.5KotlinAndroid
- 蘋果新的程式語言 Swift 語言進階(十二)--選項鍊蘋果Swift
- 蘋果的新程式語言 Swift 簡介蘋果Swift
- Swift中使用C語言的指標SwiftC語言指標