認識一下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開發框架
相關文章
- Android 騰訊Bugly熱更新接入(Kotlin語言)AndroidKotlin
- Android開發基礎08-掌握kotlin語言AndroidKotlin
- Kotlin-first - 谷歌宣佈Kotlin成為Android開發首選語言Kotlin谷歌Android
- NDK探究之旅《二》——C語言的基本認識C語言
- python是跨平臺的語言嗎Python
- 快速認識,後端王者語言:Java後端Java
- 2022 年程式語言趨勢:Swift、Kotlin 熱度持續增長,收入最高的 5 種程式語言竟是它們SwiftKotlin
- 認識一下 Mobx
- Python語言認識和實用工具(1)Python
- 快速認識,前端必學程式語言:JavaScript前端JavaScript
- 認識物聯網平臺架構架構
- Android Studio的初次認識Android
- Android - 認識ContextAndroidContext
- 第二章 Swift語言Swift
- Android如何在kotlin中進行函數語言程式設計?kotlin版本原始碼解析AndroidKotlin函數程式設計原始碼
- 自媒體平臺有哪些?這些平臺你都認識嗎?
- Swift 網路請求 : Moya初步認識Swift
- Android-認識BitmapAndroid
- Android-貪吃蛇小遊戲-分析與實現-Kotlin語言描述Android遊戲Kotlin
- OC,swift,javascript,Dart語言比較SwiftJavaScriptDart
- 語雀-西湖邊上最好的知識管理平臺
- Swift和Kotlin區別SwiftKotlin
- 基於Android平臺實現人臉識別Android
- Rust是物聯網平臺語言? - y|sndrRust
- Swift-語音識別、翻譯Swift
- 記錄一下自己剛才學習的C語言知識點
- rust 語言試一下,記錄一下Rust
- Go語言————1、初識GO語言Go
- 使用 Kotlin 語言開發 NeoForge 模組Kotlin
- sherpa-onnx:跨平臺、多語言的語音處理工具包
- [譯] Scratch 平臺的神經網路實現(R 語言)神經網路
- Kotlin 新版來了,支援跨平臺!Kotlin
- 大語言模型底層架構丨帶你認識Transformer模型架構ORM
- 認識一下JavaScrip中的超程式設計Java程式設計
- 帶你漲姿勢的認識一下 KafkaKafka
- iOS 多國語言本地化與App內語言切換(Swift)iOSAPPSwift
- 那些主流程式語言的知識,C語言(Ⅰ)C語言
- 認識 Go 語言中的陣列Go陣列
- JVM筆記 -- Java跨平臺和JVM跨語言JVM筆記Java