【Android Studio 使用教程】-- 配置 Kotlin

2023-05-16

简介

Kotlin 是一个基于 JVM 的新的编程语言,由 JetBrains 开发。JetBrains,作为目前广受欢迎的 Java IDE IntelliJ 的提供商,在 Apache 许可下已经开源其Kotlin 编程语言。

特性

  • 轻量级:
    这一点对于 Android 来说非常重要。项目所需要的库应该尽可能的小。Android 对于方法数量有严格的限制,Kotlin 只额外增加了大约 6000 个方法。
  • 互操作:
    Kotlin 可与 Java 语言无缝通信。这意味着我们可以在 Kotlin 代码中使用任何已有的 Java 库;因此,即便这门语言还很年轻,但却已经可以使用成百上千的库了。除此之外,Kotlin 代码还可以为 Java 代码所用,这意味着我们可以使用这两种语言来构建软件。你可以使用 Kotlin 开发新特性,同时使用 Java 实现代码基的其他部分。
  • 强类型:
    我们很少需要在代码中指定类型,因为编译器可以在绝大多数情况下推断出变量或是函数返回值的类型。这样就能获得两个好处:简洁与安全。
  • Null安全:
    Java 最大的一个问题就是 null。如果没有对变量或是参数进行null判断,那么程序当中就有可能抛出大量的 NullPointerException,然而在编码时这些又是难以检测到的。Kotlin 使用了显式的 null,这会强制我们在必要时进行 null 检查。

Android Studio 配置 Kotlin

1、安装插件 选择这里的 Kotlin 相关的插件安装,安装完之后会要求你重新打开 Android Studio

2、重启完后在任意一个包下右键 New , 会发现多了一个 “Kotlin File/Class” 和 “Kotlin Activity”

  1. 根目录下的 build.gradle:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    ext.kotlin_version = "1.5.0"
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:4.2.1"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
        jcenter() // Warning: this repository is going to shut down soon
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
  1. app 目录下的 build.gradle:
plugins {
    id 'com.android.application'
    id 'kotlin-android'
    id 'kotlin-android-extensions'
}

android {
    compileSdkVersion 30
    buildToolsVersion "30.0.3"

    defaultConfig {
        applicationId "com.hkt.firstapp"
        minSdkVersion 21
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = '1.8'
    }
    buildFeatures {
        viewBinding true
    }
}

dependencies {

    implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    implementation 'androidx.core:core-ktx:1.3.1'
    implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'com.google.android.material:material:1.2.1'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.1'
    implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.2.0'
    implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0'
    implementation 'androidx.navigation:navigation-fragment-ktx:2.3.0'
    implementation 'androidx.navigation:navigation-ui-ktx:2.3.0'
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    testImplementation 'junit:junit:4.+'
    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'

    implementation 'com.squareup.retrofit2:retrofit:2.6.1'
    implementation 'com.squareup.retrofit2:converter-gson:2.6.1'
    implementation 'com.github.bumptech.glide:glide:4.12.0'

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Android Studio 使用教程】-- 配置 Kotlin 的相关文章

随机推荐

  • scikit简介

    1 scikit learn示例 1 数据采集和标记 from sklearn import datasets digits 61 datasets load digits 2 特征选择 直观方法 xff0c 直接使用图片的每一个像素点 8
  • 知识图谱技术路线

    知识图谱技术路线 知识图谱知识表示含义分类表示学习 构建模式架构分类 知识建模开放型知识图谱领域知识图谱建模方法 知识抽取结构化数据半结构化数据非 半结构化数据 知识融合方法单图谱跨图谱工具 知识存储RDF三元组水平存储属性存储垂直分割图存
  • 阿里P8大佬亲自讲解!写给程序员的Flutter详细教程,灵魂拷问

    我们程序员经常迷茫于有太多东西要学 xff0c 有些找不到方向 不知所措 很多程序员都愿意说 xff0c 我想变得更好 xff0c 但是更好是什么却很模糊 xff0c 同时我们又不知道该怎么样去做 我们的生命如此短暂 xff0c 作为程序员
  • Linux 环境下验证码无法正常显示,提示 Could not initialize class sun.awt.X11GraphicsEnvironment

    验证码无法正常显示 xff0c 提示 Could not initialize class sun awt X11GraphicsEnvironment 在 Linux 下部署项目时 xff0c 一直遇到一个验证码不显示 xff0c 看了日
  • ubuntu 安装python3.6

    一 运行命令 sudo add apt repository ppa jonathonf python 3 6 可能会出现Ubuntu无法找到add apt repository问题的解决方法 解决办法 xff1a 1 apt get in
  • MTK的android镜像 解包和打包( boot.img, system.img, userdata.img, or recovery.img)

    DESCRIPTION MTK codebase编译出来的image必须使用MTK codebase里的工具才能解开或打包 xff0c 网络上的打包 解包工具不能在MTK的image里使用 KEYWORD 打包 解包 diff pyc pa
  • android 抓完整的log的方式(包括logcat抓所有非内核log)

    log 分为 kernel main events radio 几种log kernel属于 linux内核的log xff0c 通过读取 proc kmsg 或者通过串口来抓取 USB连接手机抓取方式 xff1a adb shell ca
  • 字节4轮面试,3轮都问了RecyclerView

    阿里面试总共4轮 xff0c 其中有3轮面试都问到了RecyclerView的问题 面试的点各不相同 xff0c 有原理 嵌套问题 有缓存实现 xff0c 但是最终都是殊途同归 xff0c 所有的问题都汇集在 如何对RecyclerView
  • 重庆思庄Linux技术分享-创建容器对应的systemd服务并设置其开机自启动失败

    容器已启动 xff0c 服务文件也生成在user文件里 xff0c 运行systemctl user daemmon reload 命令重新加载失败 xff0c 在我退出服务端的时候 xff0c 重新用ssh 进入就解决了 要使用 syst
  • Linux下添加应用程序图标

    为没有快捷方式的程序生成快捷方式图标 以SecureCRT为例 生成 desktop图标 编辑文本文件 xff0c 命名为SecureCRT desktop 内容如下 xff1a Desktop Entry Name 61 SecureCR
  • 如何改变Debian桌面 或者 gnome桌面图标的大小

    要改变Debian桌面图标的size xff0c 我们在图标上点击右键 xff0c 会有一个stretch选项 xff0c 通过这个 xff0c 可以用托拽的方法 xff0c 一个一个来改变图标大小 但这个方法很费劲 xff0c 而且托拽的
  • gradle,gradle/wrapper,build.gradle区别

    1 gradle 跟 maven ant一样是构建工具 2 gradle wrapper Gradle Wrapper是Gradle项目的一部分 引入gradle wrapper xff0c 通过读取配置文件中gradle的版本 xff0c
  • AI一般是用来制作什么的

    AI一般用来制作logo 分页 xff0c 海报等等 面板堆栈的话就是很多功能堆放的位置 一般打印出来的话用cmyk模式 如果是在web端的话用RGB模式 xff0c 因为cmyk模式在你进行存储的过程中颜色可能会丢失 出血值就是在你打印东
  • NetworkX画图:nx.draw_networkx(函数详解)

    NetworkX画图 xff1a nx draw networkx 函数详解 draw networkx span class token punctuation span G span class token punctuation sp
  • 小程序代码构成

    了解项目的基本结构 1 pages xff1a 用来存放所有小程序的页面 2 utils xff1a 用来存放工具性质的模块 xff08 例如 xff1a 格式化事件的自定义模块 xff09 3 app js xff1a 小程序项目的入口文
  • 操作系统笔记

    第一章 xff1a 导论 1 计算机系统 的四个组成成分 xff1a 计算机硬件 操作系统 系统程序和用户 可以大致分为硬件 软件和数据 定义 xff1a 现代通用计算机系统由一个或多个CPU和若干设备控制器通过共同的总线相连而成 xff0
  • 高性能 TCP/UDP/HTTP 通信框架 HP-Socket v4.1.2

    HP Socket 是一套通用的高性能 TCP UDP HTTP 通信框架 xff0c 包含服务端组件 客户端组件和 Agent 组件 xff0c 广泛适用于各种不同应用场景的 TCP UDP HTTP 通信系统 xff0c 提供 C C
  • java根据图片的url地址下载图片到本地

    java根据图片的url地址下载图片到本地 已知图片的url地址 xff0c 通过java代码下载到本地 xff0c 直接上代码 package demo import java io ByteArrayOutputStream impor
  • 【Android -- 动画】Lottie 动画的基本使用

    一 简介 Lottie 是 Airbnb 开源的一个面向 iOS Android React Native 的动画库 xff0c 能分析 Adobe After Effects 导出的动画 xff0c 并且能让原生 App 像使用静态素材一
  • 【Android Studio 使用教程】-- 配置 Kotlin

    简介 Kotlin 是一个基于 JVM 的新的编程语言 xff0c 由 JetBrains 开发 JetBrains xff0c 作为目前广受欢迎的 Java IDE IntelliJ 的提供商 xff0c 在 Apache 许可下已经开源