国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

使用Kotlin開發Android應用的初體驗

2019-12-12 02:51:15
字體:
來源:轉載
供稿:網友

昨晚,最近一屆的谷歌IO大會正式將Kotlin確定為了官方開發語言,作為一名Android開發鳥,怎么能不及時嘗嘗鮮呢?

Kotlin的簡要介紹

在開發之前,很多同學一定有很多疑問,Kotlin到底有啥好處,怎么和現有的項目共存呢?Java那么些特性Kotlin都有嗎?嗯,讓我們一一來看。

Kotlin 非常適合開發 Android 應用程序,將現代語言的所有優勢帶入 Android 平臺而不會引入任何新的限制:

  1. 兼容性:Kotlin 與 JDK 6 完全兼容,保障了 Kotlin 應用程序可以在較舊的 Android 設備上運行而無任何問題。Kotlin 工具在 Android Studio 中會完全支持,并且兼容 Android 構建系統。
  2. 性能:由于非常相似的字節碼結構,Kotlin 應用程序的運行速度與 Java 類似。 隨著 Kotlin 對內聯函數的支持,使用 lambda 表達式的代碼通常比用 Java 寫的代碼運行得更快。
  3. 互操作性:Kotlin 可與 Java 進行 100% 的互操作,允許在 Kotlin 應用程序中使用所有現有的 Android 庫 。這包括注解處理,所以數據綁定和 Dagger 也是一樣。
  4. 占用:Kotlin 具有非常緊湊的運行時庫,可以通過使用 ProGuard 進一步減少。 在實際應用程序中,Kotlin 運行時 只增加幾百個方法以及 .apk 文件不到 100K 大小。
  5. 編譯時長:Kotlin 支持高效的增量編譯,所以對于 清理構建會有額外的開銷,增量構建通常與 Java 一樣快或者更快。
  6. 學習曲線:對于 Java 開發人員,Kotlin 入門很容易。包含在 Kotlin 插件中的自動 Java 到 Kotlin 的轉換器 有助于邁出第一步。Kotlin 心印 通過一系列互動練習提供了語言主要功能的指南。

Kotlin 用于 Android 的案例學習

Kotlin 已被一些大公司成功采用,其中一些公司分享了他們的經驗:

  1. Pinterest 已經成功地將 Kotlin 引入了他們的應用程序中,每個月有 1 億 5 千萬人使用。
  2. Basecamp 的 Android 應用程序是 100% Kotlin 代碼,他們報告了程序員幸福的 巨大差異,以及工作質量和速度的巨大改善。
  3. Keepsafe 的 App Lock 應用程序也已轉換為 100% Kotlin, 使源代碼行數減少 30%、方法數減少 10%。用于 Android 開發的工具

Kotlin 團隊為 Android 開發提供了一套超越標準語言功能的工具:

  1. Kotlin Android 擴展是一個編譯器擴展, 可以讓你擺脫代碼中的 findViewById() 調用,并將其替換為合成的編譯器生成的 屬性。
  2. Anko 是一個提供圍繞 Android API 的 Kotlin 友好的包裝器的庫 ,以及一個可以用 Kotlin 代碼替換布局 .xml 文件的 DSL。

下一步

  1. Android 與 Kotlin 入門教程 指導你將 Kotlin 插件安裝到 Android Studio 中,并創建你的第一個 Kotlin 應用程序。
  2. 關于更深入的介紹,請查看本站的參考文檔及 Kotlin 心印。
  3. 另一個很好的資源是 Kotlin for Android Developers, 這本書會引導你逐步完成在 Kotlin 中創建真正的 Android 應用程序的過程。

使用Kotlin開發Android應用

在開始學習使用Kotlin開發Android應用之前,我們首先需要準備好手中的環境,那就是必須先配置好Android Studio 3.0的環境。

創建Kotlin開發工程

這里的工程創建與普通的Android應用工程創建并無不同,唯一的不同之處在于創建工程時勾選 Include Kotlin support 選項。如圖:

這里寫圖片描述

在默認創建好的Activity中便已經是Kotlin的代碼,看起來與Java代碼本身非常相似:

這里寫圖片描述

Kotlin文件以.kt結尾。

默認創建好的Kotlin文件還是會放在和Java文件一樣的位置,如果需要使kotlin文件與Java文件分開放的話,那么可以在對應的gradle文件中加入以下配置:

android {  sourceSets {    main.java.srcDirs += 'src/main/kotlin'  }}

這樣的話,所有默認創建的Kotlin文件就會被放在/kotlin/目錄下了。

在現有的工程中添加Kotlin

如果需要在已有的工程中添加Kotlin的支持,那么只需要在新創建Activity時在Source language選項中選擇Kotlin就可以:

這里寫圖片描述

將Java代碼轉換為Kotlin代碼

在Android Studio 3.0中提供了可以將Java代碼轉化為Kotlin代碼的工具。使用時只需要將對應的Java文件打開,然后選擇菜單欄上的 Code -> Convert Java File to Kotlin File 就可以完成轉換。

這里寫圖片描述

不過需要注意的是,這個工具可以完成大部分的語法轉換,個別類型,比如數組在轉換的時候可能有些問題,需要自己手動調整。博主我在練習的時候發現了這個問題,不過通過語法文檔迅速做了修正。發現Kotlin在語法簡潔方面確實要優于Java很多。例如下面一段代碼:

    val bitmaps = LargePicLoadHelper.cutItemImage(cutImage, itemImageHeight)    cutImage.recycle()    for (i in bitmaps) {      val imageView = ImageView(this)      imageView.setImageBitmap(i)      linearLayout.addView(imageView)    }    textView.postDelayed({      for (i in bitmaps) {        i.recycle()      }    }, 1000)

這段代碼在輪詢數組時,比Java的foreach循環要簡潔很多,i在這里代表了一個Bitmap對象,bitmaps是一個數組。是不是很簡單呢?

通過Kotlin使用Java代碼

Kotlin提供了很強大的互操作性,這個互操作性是個什么鬼呢?就是說Kotlin可以很方便的調用Java代碼,Java代碼也可以很方便的調用Kotlin代碼。這個方便到什么程度呢?Kotlin可以直接調用Java代碼。如果你了解JNI的話,那就知道Kotlin的互操作性有多么簡潔多么方便了。

使用Kotlin聲明Activity:

class MyActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) {  super.onCreate(savedInstanceState)  setContentView(R.layout.activity) }}

使用Kotlin設置點擊事件:

val textView = findViewById(R.id.text) as TextViewtextView.setOnClickListener {  Toast.makeText(this,"Hello Kotlin!",Toast.LENGTH_SHORT).show()}

看到沒有,上面的setContentView以及下面的Toast就是Android提供的API,我們可以直接使用。并且setOnClickListener方法內部并不需要new OnClickListener對象!直接寫點擊實現就可以了!還有Toast的第一個參數this在Java中是一定要寫Activity.this的,而這里只用寫this就可以了!是不是很niubility?

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 中江县| 垫江县| 永清县| 荃湾区| 广丰县| 河津市| 抚远县| 怀仁县| 囊谦县| 井冈山市| 陈巴尔虎旗| 尼玛县| 蚌埠市| 页游| 汝阳县| 英吉沙县| 江安县| 镇巴县| 武安市| 运城市| 兴仁县| 尼玛县| 美姑县| 荔波县| 宁远县| 左云县| 四川省| 万山特区| 固镇县| 清镇市| 嵩明县| 阜新市| 儋州市| 凤山市| 通州区| 萨迦县| 杭锦后旗| 广宁县| 绥中县| 永寿县| 神木县|