Kotlin Android Studio入门学习研究

前言


   Google宣布Kotlin正式成为Android的开发语言。JetBrains终于打入最重要的市场。Java is dead, long live Kotlin!


概述


    [Kotlin](https://kotlinlang.org/)
    Kotlin 是一个基于 JVM 的新的开源编程语言,由 JetBrains (Java IDE提供商) 开发。
    Kotlin可以编译成Java字节码,也可以编译成JavaScript,方便在没有JVM的设备上运行。


优点


    1、简洁:大大减少样本代码量

         Java Bean 对比 Kotlin Bean 代码量,减少4/5

Kotlin Android Studio入门学习研究_第1张图片

Kotlin Android Studio入门学习研究_第2张图片


    Activity.java 转成Activity.kt代码量对比,减少1/3

Kotlin Android Studio入门学习研究_第3张图片

Kotlin Android Studio入门学习研究_第4张图片


    2、安全:避免错误异常,如空指针异常

        Kotlin保护你免受错误操作可空类型,包括来自Java

   var output : String
   output = null
   println(output.length())


        如果你检查类型是正确的,编译器会为你自动转换  

    
    fun calculateTotal(obj: Any) {
        if (obj is Invoice) {
            obj.calculateTotal()
        }
    }    

    3、多才多艺:多用途语言,允许您构建任何类型的应用程序

         Android开发无性能影响,运行时文件非常小(1.0.3库大约736KB)。

         应用程序服务器:技术不是问题,100%兼容所有JVM框架。

         JavaScript:目标JavaScript中编写的Kotlin代码可在Node.js或浏览器中运行。

         企业:对任何类型的企业Java EE开发使用Kotlin。

         Web:无论你想要强类型的HTML,CSS构建器还是纯web开发。

      4、互操作:100%可与Java(包括框架,第三方库)互操作



Android Studio开发入门


    1、安装Kotlin插件,  File>Setting>Plugins>Browse Repositories

Kotlin Android Studio入门学习研究_第5张图片

      安装完插件重启AS后在菜单栏里会出现以下相关选项,

Kotlin Android Studio入门学习研究_第6张图片

Kotlin Android Studio入门学习研究_第7张图片

          通过Convert Java File to Kotlin File功能可以把项目所有类转成 .kt文件(Kotlin文件)


    2、配置gradle文件

         有两种配置方式,第一种是自动配置,新建一个Kotlin Activity,Sycn Project with Gradle File后会提示选择自动配置Kotlin gradle信息


Kotlin Android Studio入门学习研究_第8张图片


         最终里外的两个gradle文件做了这些改动:

Kotlin Android Studio入门学习研究_第9张图片


Kotlin Android Studio入门学习研究_第10张图片


       又或者自己手写配置也是可以的

buildscript {
    ext.kotlin_version = '1.0.6'
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.2'
        classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

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

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

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.3"

    defaultConfig {
        applicationId "com.study.eric.studyproject"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            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:23.4.0'
    compile 'com.android.support:design:23.4.0'
    compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}

Kotlin Android 扩展

    很多安装开发者都很清楚findViewById()这个方法,毫无疑问,这是个讨厌的的编写方式,对整天代码的阅读可观性不是很好。

    虽然有几个库  (butterknike)可以提供这个问题的解决方案,但是要依赖于运行时的库,它们写需要每个View的注释字段。    Kotlin Android Extensions插件允许我们获得与这些库中的同样体验效果,而无需添加任何额外的代码,实际上用法非常简单,Extensions
是Kotlin插件的一部分,开发者不需要再安装其他插件,只需要在app buiild.gradle文件中启用Extensions即可:apply plugin: 'kotlin-android-extensions

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

    具体用法如下:

Kotlin Android Studio入门学习研究_第11张图片


如果我们想要调用View上的属性(在适配器类中有用),我们还应该导入kotlinx.android.synthetic.main.activity_main.view.*

------END------



你可能感兴趣的:(Android)