前言


   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




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




    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

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



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


    2、配置gradle文件

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




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





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

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'

    具体用法如下:



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

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



更多相关文章

  1. Android控制手电筒代码,简单易用,不需要任何权限
  2. Android(安卓)SDK Manager无法更新的解决
  3. Android开发常用的linux命令、命令行操作、抓包等
  4. android 网络编程
  5. 2.3.2 Android(安卓)Studio使用记录——2.快捷键大全
  6. 安装和卸载Android应用程序(apk包)
  7. 如何制作Jar包并在android中调用jar包
  8. android 判断是否由adb调试进入页面 或直接跳转到开发者选项页面
  9. NPM 和webpack 的基础使用

随机推荐

  1. android 微信支付接口申请分享
  2. android adapter的学习
  3. android之Resources相关
  4. 如何避免Android内存泄漏之Context
  5. Android复习笔记(7) -发送广播
  6. Android第一个apk之HelloWorld
  7. Android(安卓)Out Of Memory(OOM) 的详细
  8. Android中Activity启动模式详解,可以控制
  9. android适配各种分辨率的问题
  10. Android(安卓)热敏打印机开发(蓝牙)