編輯:關於android開發
作者:Antonio Leiva
時間:Dec 19, 2016
原文鏈接:https://antonioleiva.com/kotlin-integrations-android-sdk/
使用Kotlin語言不僅僅簡化你的代碼,而且也可以簡化從Kotlin調用Java代碼。
這是怎樣工作的?簡單地使用一些通用結構就可以得到Kotlin的感覺。
在這篇文章中,你將看到一些例子,它是怎樣提升相同代碼。它也預防Java代碼包含模板部分。
如Android 框架是基於Java庫,之前我們提到的一切關於Java應用都完全適用於Android。
讓我們來看一些例子。
在前面幾篇文章中,我們已經看到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方法,所以與直接調用它們一樣。
這令人驚奇。對於Android的任何簡單事情,不是要創建匿名類嗎?而使用Kotlin,你不需要為Android偵聽器這樣做。
條件是這樣:需要一個接口對於一個方法。典型的例子是View類的setOnClickListener。
你能夠做這樣簡單的一句:
1 view.setOnClickListener { navigateToNextActivity() }
看多麼容易?
如果你需要從原接口返回視圖,你也可以覆蓋它:
1 view.setOnClickListener { v -> navigateWithView(v) }
說明:這是什麼怪結構?它是Lambda表達式,它表示函數的輸入參數是箭頭左邊定義的方法。箭頭右邊是函數體,上一行是結果。我們將在後續文章中討論這些。
在Kotlin項目中,集成其他Java庫是很容易的,尤其是Android框架。
如何你要進一步學習Kolin,請加入這個列表,你就可以在你的收件箱中收到這些文章。
Android開發之初識MVP模式 各位親愛的小伙伴,有沒有想我啊,我胡漢wing又回來了。 很長一段時間沒有更新博客。。原因是。。從離職回到學校以後,一直在享受最
本文以一個簡單的Android HelloWorld程序來說明Android開
Android統計圖表MPAndroidChart.,mpandroidchartAndroid統計圖表MPAndroidChart MPAndroidChart是在An
Android 手機衛士--自定義控件(獲取焦點的TextView),androidtextview本文地址:http://www.cnblogs.com/wuyudon