Kotlin開發之旅《一》— 初學者Kotlin基礎必備

若是對Kotlin不太瞭解的童鞋們請參考html

Kotlin成爲Android開發首選語言——你絕對不能錯過的java

blog.csdn.net/androidstar…android

推薦幾個學習的地址:git

官網文檔:github

kotlinlang.org/docs/refere…編程

最全最值得去學習的文檔,把他 當作一本詞典用,效率會提升的更加快些bash

官網:微信

kotlinlang.org/app

官網是個很很少的學習的地方jvm

至於Kotlin是什麼,簡單的說就是跑在jvm上的新語言,他的特色就是短小 ,至於有什麼好處,那就說不完啊,挑特色來講。

  • 無縫對接java,能夠java代碼和kotlin代碼互相調用

  • 函數擴展功能,不再知道啥叫繼承

  • Kotlin 是一個基於 JVM 的編程語言,與 Java 有很深的淵源。

  • 它能與 Java 100% 互通,具有諸多 Java 尚不支持的新特性。

  • 一鍵java轉kotlin,若是你有遺留的java代碼,能夠一鍵轉換,Kotlin 能夠編譯成 Java 字節碼,也能夠編譯成 JavaScript ,方便在沒有 JVM 的設備上運行

  • 可用於移動端以及 Web 開發,是一種全棧式開發語言

建立個人第一個kotlin!

  • 首先打開你的AS,像往常同樣,建立一個Android應用。

  • 而後在Setting裏找到Plugin選項,搜索kotlin插件。從官方倉庫下載安卓便可。

    kotlin-android-extensions-1.1.2-4.jar的下載地址爲:

    download.csdn.net/detail/andr…

  • 在app的gradle下加入以下代碼
apply plugin: 'kotlin-android'

apply plugin: 'kotlin-android-extensions'複製代碼

在總工程project的gradle下加入以下代碼:(大部分是自動生成的)

dependencies {
        classpath 'com.android.tools.build:gradle:2.2.2'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }複製代碼

在model下面的gradle下加入以下代碼(注意你本身配置的時候,改爲最新版本)

classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.2-4"複製代碼

這裏我用的是已下載好的jar

compile files('libs/kotlin-android-extensions-1.1.2-4.jar')複製代碼

將Hello World編爲Hello Kotlin

Markdown
Markdown

轉換後

Markdown
Markdown

將兩斷代碼作一個比較,能夠看到的語法變化有:

  • extends 變成了 :
    函數定義關鍵字變爲了fun
  • 分號不見了
  • 變量名稱寫在了類型前面
  • 這些是語法的變化,到後面還會有一些,用得多了,也就記住了。後面再遇到語法變化還會繼續總結。

首先給xml文件裏的Button加一個id

<Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/btn_onclick01"
        android:text="點擊事件"/>複製代碼

在以往的java代碼中,想要Button的文本,須要先findviewbyid()以後再setText(),控件多了就很臃腫。是時候試試kotlin了!

下面用kotlin實現一樣的功能,代碼以下:

btn_onclick01.text = "123";複製代碼

點擊事件也變爲:

btn_onclick01.setOnClickListener {
           view -> btn_onclick01.text = "androidstarjack歡迎你";
}複製代碼

findviewbyid不見了,取而代之的是直接寫id。kotlin能夠直接根據id找到控件,而避免findviewbyid,這時候你須要注意一下import頭,導入這個東西才能夠

import kotlinx.android.synthetic.main.activity_main_kotlin.*複製代碼

另外,setText也不見了。這是kotlin的一個特性,全部getter和setter能夠省略,直接變爲 .text

感受如何?代碼量是否是減小了許多,實際上這只是百裏挑一而已啦。

Java和Kotlin做比較

變量

  • Java

    String lan = "Hello Kotlin";
    
      final String lan = "Hello Kotlin";複製代碼
  • Kotlin

    var lan = "Hello Kotlin"
    
      val lan = "Hello Kotlin"複製代碼

    打印字符串:

  • Java

    System.out.print("Hello Kotlin");
    
      System.out.println("Hello Kotlin");複製代碼
  • Kotlin (相似於C/C++)

    print("Hello Kotlin");
    
      println("Hello Kotlin");複製代碼

建立實體類

  • java

    class Studenty private constructor() {
    
          private var name: String? = null
    
          private var age: Int = 25
    
          private var level:Int? = 0;
    
          private var sex:String = "男";
    
          constructor (name: String, age: Int,level: Int,sex : String): this() {
    
              this.name = name
              this.age = age
              this.level = level
              this.sex = sex
          }
    
      }複製代碼
  • kotlin

    class Studenty private constructor() {
    
          private var name: String? = null
    
          private var age: Int = 25
    
          private var level:Int? = 0;
    
          private var sex:String = "男";
    
          constructor (name: String, age: Int,level: Int,sex : String): this() {
    
              this.name = name
              this.age = age
              this.level = level
              this.sex = sex
          }
    
      }複製代碼

    關於Java to Kotlin的語法有不少,下次咱們作一個 Kotlin的語法總結,以便於你快速認識 Kotlin 這門語言。

相關博客地址:

github.com/androidstar…

若是你以爲此文對您有所幫助,歡迎入羣 QQ交流羣 :232203809
微信公衆號:終端研發部

技術+職場
技術+職場
相關文章
相關標籤/搜索