Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> Kotlin與Android SDK 集成(KAD 05),kotlinandroid

Kotlin與Android SDK 集成(KAD 05),kotlinandroid

編輯:關於android開發

Kotlin與Android SDK 集成(KAD 05),kotlinandroid


作者:Antonio Leiva

時間:Dec 19, 2016

原文鏈接:https://antonioleiva.com/kotlin-integrations-android-sdk/

 

使用Kotlin語言不僅僅簡化你的代碼,而且也可以簡化從Kotlin調用Java代碼。

 

這是怎樣工作的?簡單地使用一些通用結構就可以得到Kotlin的感覺。

 

在這篇文章中,你將看到一些例子,它是怎樣提升相同代碼。它也預防Java代碼包含模板部分。

 

Kotlin與Android SDK 集成

如Android 框架是基於Java庫,之前我們提到的一切關於Java應用都完全適用於Android。

 

讓我們來看一些例子。

 

映射到屬性的getter和setter方法

在前面幾篇文章中,我們已經看到getter和setter。這只是解釋。

 

如我們討論的,Kotlin使用屬性而不是 字段+getter+setter,賦值的方式與在Java public域中get一樣。

 

但是我們也知道,簡單的賦值可以執行代碼,或我們實現的自定義操作。

 

這類的規則是在Java中找到的任何setX和getX都被映射到Kotlin X。

 

例如,如果你在用TextView,你可以用類似屬性的語句設置text:

1 val textView: TextView = ...
2 textView.text = "My Text"

 

當然,這可以應用到任何類。你用相同的方法,在Activity能夠訪問(例如)applicationContext 或者 layoutInflater:

1 layoutInflater.inflate(R.layout.view_item, parent)
2 val hello = applicationContext.getString(R.string.hello)

 

這不用擔心性能,它們事實上是映射到原始的getter和setter方法,所以與直接調用它們一樣。

 

接口方法映射到Lambda表達式

 

這令人驚奇。對於Android的任何簡單事情,不是要創建匿名類嗎?而使用Kotlin,你不需要為Android偵聽器這樣做。

 

條件是這樣:需要一個接口對於一個方法。典型的例子是View類的setOnClickListener。

 

你能夠做這樣簡單的一句:

1 view.setOnClickListener { navigateToNextActivity() }

 

看多麼容易?

 

如果你需要從原接口返回視圖,你也可以覆蓋它:

1 view.setOnClickListener { v -> navigateWithView(v) }

 

說明:這是什麼怪結構?它是Lambda表達式,它表示函數的輸入參數是箭頭左邊定義的方法。箭頭右邊是函數體,上一行是結果。我們將在後續文章中討論這些。

 

結論

在Kotlin項目中,集成其他Java庫是很容易的,尤其是Android框架。

 

如何你要進一步學習Kolin,請加入這個列表,你就可以在你的收件箱中收到這些文章。

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved