浅谈Kotlin(一):简介及Android Studio中配置

简介: 浅谈Kotlin(一):简介及Android Studio中配置浅谈Kotlin(二):基本类型、基本语法、代码风格浅谈Kotlin(三):类浅谈Kotlin(四):控制流  前言:  今日新闻:谷歌宣布,将Kotlin语言作为安卓开发的一级编程语言。

浅谈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(二):基本类型、基本语法、代码风格

 

 

 

 

 

 

 
相关文章
|
2天前
|
存储 Java 开发工具
在Eclipse配置安装Android详细教程(新手)
在Eclipse配置安装Android详细教程(新手)
12 1
|
3天前
|
安全 Java Android开发
构建高效Android应用:采用Kotlin进行内存优化的策略
【5月更文挑战第8天】 在移动开发领域,性能优化一直是开发者关注的焦点。特别是对于Android应用而言,合理管理内存资源是确保应用流畅运行的关键因素之一。近年来,Kotlin作为官方推荐的开发语言,以其简洁、安全和互操作性的特点受到开发者青睐。本文将深入探讨利用Kotlin语言特性,通过具体策略对Android应用的内存使用进行优化,旨在帮助开发者提高应用性能,减少内存消耗,避免常见的内存泄漏问题。
7 0
|
4天前
|
Oracle Java 关系型数据库
Android零基础入门(一)配置环境和安装Android Studio
Android零基础入门(一)配置环境和安装Android Studio
14 0
|
4天前
|
编解码 调度 Android开发
Android音频框架之一 详解audioPolicy流程及HAL驱动加载与配置
Android音频框架之一 详解audioPolicy流程及HAL驱动加载与配置
11 0
|
4天前
|
Android开发 Kotlin
Kotlin开发Android之基础问题记录
Kotlin开发Android之基础问题记录
15 1
|
4天前
|
Android开发
Android Studio或IDEA 升级后 不提示错误问题
Android Studio或IDEA 升级后 不提示错误问题
12 1
|
4天前
|
移动开发 数据库 Android开发
构建高效Android应用:Kotlin协程的全面应用
【5月更文挑战第7天】 在移动开发领域,性能优化与流畅的用户体验是至关重要的。随着Kotlin语言的流行,其并发神器——协程,已成为提升Android应用性能的重要工具。本文将深入探讨如何在Android项目中利用Kotlin协程进行异步编程、网络请求和数据库操作,以及如何通过协程简化代码结构,增强应用的响应性和稳定性。我们的目标是为开发者提供一套实用的协程使用模式和最佳实践,以便构建更加高效的Android应用。
20 3
|
4天前
|
移动开发 Java Android开发
Android应用开发:Kotlin语言的优势与实践
【5月更文挑战第7天】 在移动开发的世界中,Android平台的Kotlin语言以其高效、简洁的语法和强大的功能吸引了众多开发者。本文将深入探讨Kotlin语言的核心优势,并通过实际案例展示如何在Android应用开发中有效地运用这一现代编程语言。我们将从语言特性出发,逐步分析其在提升开发效率、改善代码质量以及增强应用性能方面的具体表现,为读者提供一个全面而细致的Kotlin应用开发指南。
|
4天前
|
移动开发 数据库 Android开发
构建高效Android应用:Kotlin与协程的完美结合
【5月更文挑战第7天】 在移动开发领域,性能优化和资源管理始终是核心议题。随着Kotlin语言的普及,其提供的协程特性为Android开发者带来了异步编程的新范式。本文将深入探讨如何通过Kotlin协程来优化Android应用的性能,实现流畅的用户体验,并减少资源消耗。我们将分析协程的核心概念,并通过实际案例演示其在Android开发中的应用场景和优势。
|
7天前
|
移动开发 前端开发 Android开发
构建高效Android应用:探究Kotlin协程的优势
【5月更文挑战第4天】 在移动开发领域,尤其是对于Android开发者而言,编写响应迅速且高效的应用程序至关重要。Kotlin作为一种现代的编程语言,其提供的协程特性为异步编程带来了革命性的改变。本文将深入探讨Kotlin协程在Android开发中的应用优势,并通过实例代码展示如何利用协程简化异步任务处理,提高应用性能和用户体验。