淺談Kotlin(一):簡介及Android Studio中配置


淺談Kotlin(一):簡介及Android Studio中配置

淺談Kotlin(二):基本類型、基本語法、代碼風格

淺談Kotlin(三):類

淺談Kotlin(四):控制流 

 

前言:

  今日新聞:谷歌宣布,將Kotlin語言作為安卓開發的一級編程語言。

      Kotlin由JetBrains公司開發,與Java 100%互通,並具備諸多Java尚不支持的新特性。

      谷歌稱還將與JetBrains公司合作,為Kotlin設立一個非盈利基金會。

 

一、簡介:

     Kotlin 是一個基於 JVM 的新的編程語言,由 JetBrains 開發。JetBrains,作為目前廣受歡迎的 Java IDE IntelliJ 的提供商,在 Apache 許可下已經開源其Kotlin 編程語言。

   可以理解為類似於iOS的Swift。

 

二、特性:

  • 輕量級:
    • 這一點對於Android來說非常重要。項目所需要的庫應該盡可能的小。Android對於方法數量有嚴格的限制,Kotlin只額外增加了大約6000個方法。
  • 互操作:
    • Kotlin可與Java語言無縫通信。這意味着我們可以在Kotlin代碼中使用任何已有的Java庫;因此,即便這門語言還很年輕,但卻已經可以使用成百上千的庫了。除此之外,Kotlin代碼還可以為Java代碼所用,這意味着我們可以使用這兩種語言來構建軟件。你可以使用 Kotlin開發新特性,同時使用Java實現代碼基的其他部分。
  • 強類型:
    • 我們很少需要在代碼中指定類型,因為編譯器可以在絕大多數情況下推斷出變量或是函數返回值的類型。這樣就能獲得兩個好處:簡潔與安全。
  • Null安全:
    • Java最大的一個問題就是null。如果沒有對變量或是參數進行null判斷,那么程序當中就有可能拋出大量的 NullPointerException,然而在編碼時這些又是難以檢測到的。Kotlin使用了顯式的null,這會強制我們在必要時進行null檢查。

 

三、Android Studio中的配置

  注意:

  Android Studio是Intellij IDEA的插件實現,Intellij IDEA是由JetBrains開發,Kotlin 就是JetBrains創造的。所以,要想使用Kotlin,你必須先使用起來Android Stduio。

  1、安裝插件  選擇這里的Kotlin相關的插件安裝,有些文檔中介紹有2個插件,其實目前這一個包含另一個了,所以安裝一個就行,安裝完之后會要求你重新打開Android Studio。

  2、重啟完Android Studio之后在任意一個包下右鍵New , 會發現多了一個"Kotlin File/Class" 和 "Kotlin Activity"

    

  

  3、"Kotlin File/Class"即 Kotlin類或者文件

     "Kotlin Activity"即 Kotlin的Activity類

  

  4、試着建一個"Kotlin File/Class" 文件

  

     發現右上角有一個配置選項“Configure” , 默認第一次使用都需要配置一下

  

    選擇對所有modules配置還是對指定的配置

    選擇OK后,會跳到build.gradle文件下,你會發現app下的build.gradle和根目錄下的build.gradle文件都會出現變化

    注意黃色背景部分,沒有的自己手動添加上去。

 

    根目錄下的build.gradle: 

buildscript {
 ext.kotlin_version = '1.1.2-4' ext.support_version = '23.1.1' ext.anko_version = '0.8.2'

    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.0' 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
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

    

    app目錄下的build.gradle:

apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.3"

    defaultConfig {
        applicationId "com.xqx.xautoviewgroup"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    lintOptions {
        abortOnError false
    }
    buildTypes {
        debug {
            // 顯示Log
            buildConfigField "boolean", "LOG_DEBUG", "true"
            versionNameSuffix "-debug"
            minifyEnabled false
            zipAlignEnabled false
            shrinkResources false
            signingConfig signingConfigs.debug
        }

        release {
            // 不顯示Log
            buildConfigField "boolean", "LOG_DEBUG", "false"
            //混淆
            minifyEnabled true
            //Zipalign優化
            zipAlignEnabled true

            // 移除無用的resource文件
            shrinkResources true
            //前一部分代表系統默認的android程序的混淆文件,該文件已經包含了基本的混淆聲明,后一個文件是自己的定義混淆文件
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

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

}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:25.3.1'
    compile 'com.android.support:design:25.3.1'
    compile 'com.android.support:support-v4:25.3.1'
    compile 'com.github.bumptech.glide:glide:3.6.1'
    compile 'com.jph.takephoto:takephoto_library:4.0.3' compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" compile "org.jetbrains.anko:anko-common:$anko_version"

}
repositories {
    mavenCentral()
}

 

 

 

    

 

接下來就可以進行Kotlin的編碼實戰了。

淺談Kotlin(一):簡介及Android Studio中配置 

淺談Kotlin(二):基本類型、基本語法、代碼風格

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM