在android studio中使用kotlin

2023-05-16

一、安装kotlin插件
这里写图片描述

二、导入Kotlin的核心库及其扩展库Anko库
1、在项目根目录下的build.gradle文件中指定kotlin插件的版本及路径

buildscript {

    ext.kotlin_version = "1.1.2-3"
    ext.anko_version = "0.9"

    repositories {
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.3'

        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
    }
}

...

2、在module的build.gradle文件中将kotlin插件编译进来

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


android {
    compileSdkVersion 25
    buildToolsVersion "25.0.3"
    ...
}

dependencies {
    ...

    compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    compile "org.jetbrains.anko:anko-common:$anko_version"

}

三、使用
新建Kotlin的Activity,命名KotlinActivity,布局文件activity_kotlin。

布局文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <Button
        android:id="@+id/btn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="button"/>
    <TextView
        android:id="@+id/textview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
</LinearLayout>

KotlinActivity代码:

class KotlinActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_kotlin)

        //按钮的点击事件,给textview赋值
        btn.setOnClickListener { textview.text = "早上好" }
    }

}

上述代码中,因为导包的时候加了下面这句,所以布局里所有控件再也不用findViewById实例化了,可直接拿控件id当实例化后的控件本身使用。

import kotlinx.android.synthetic.main.activity_kotlin.*

四、补充
将java代码转为kotlin代码,执行code–> Convert Java File to Kotlin File,如图:
这里写图片描述

这样,当遇到一些kotlin语法不熟的地方,可先用java代码写出来,再传为kotlin代码。

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

在android studio中使用kotlin 的相关文章

随机推荐

  • 思博伦Spirent Testcenter交换机性能测试主要技术指标_丢帧率/吞吐量/转发速率之间的关系_双极未来

    转发速率 丢帧率和吞吐量是描述交换机转发性能的主要技术指标 xff0c 这些指标的测试结果可以客观地反映出被测交换机的性能 正确理解它们之间的联系与区别对于设计吞吐量 丢帧率和转发速率的测试方法非常重要 如下图所示 xff0c X轴表示 x
  • OpenStack-Ceilometer项目功能与架构介绍

    1 OpenStack Ceilometer项目简介 OpenStack通过Telemetry项目提供计量与监控服务 xff0c 该项目旨在针对组成已部署云的物理和虚拟资源 xff0c 可靠地收集并保存各类使用数据 xff0c 以便对这些数
  • redhat 查询端口占用

    linux redhat 端口和服务的查看与终止 redhat 查询端口占用情况和杀死占用的服务 netstat anp grep lt 端口号或者程序名称 gt 查8080端口占用情况 netstat anp grep 8080 查jav
  • mapl

    business card case executive veto power anime stream radio johann strauss black layout pink star job interview question
  • Knowledge Tracing: A Survey阅读笔记

    xff08 注 xff1a 为了方便后续阅读KT论文 xff0c 文中一些名词使用英文 文中保留的序号与原论文参考文献一致 行文会在后续反刍过程中改进 xff09 原文链接 xff1a https arxiv org abs 2201 06
  • iOS_NSAttributedString 的21种属性详细介绍(图文混排)

    说明 NSAttributedString 可以非常方便的实现文字排版和图文混排功能 共有21中效果 API 本文将较详细的介绍21种的属性的使用 注 本博客由 64 凡俊编写 64 Scott 64 春雨 审核 若转载此文章 请注明出处和
  • ++和--的用法

    单独使用时 xff0c 43 43 或者 无论是放在变量的前面还是后面 xff0c 结果是一样的 参与操作时 如果 43 43 或者 在变量的后面 xff0c 先拿变量参与操作 xff0c 后变量做 43 43 或者 例如 int a 61
  • geoserver集群

    软件准备 geoservertomcat 插件 下载地址 xff1a https build geoserver org geoserver activeMQ broker plugin zipjms cluster plugin zip
  • 为moment.js正名

    说来也奇怪 xff0c 总有人在耳边说moment js对国际化日期支持不好 xff0c 坚决不要使用 xff0c 会带来很多问题之类的话 但就我个人经验来看 xff0c 还从未见到过任何一个反例 xff0c 恰好我又是个不信邪的人 xff
  • sqlite3 的二进制数据插入与获取

    sqlite3 存储和查找二进制数据对象 使用c语言接口 思路 xff1a 通过让代码执行执行sql语句进行查找 xff0c 但二进制的显示方法无法确定所以 xff0c 二进制数据对象查询语句略有不同 注意 xff1a sqlite3的数据
  • MySQL修改数据表中的字段名

    MySQL修改数据表中的字段名 在一张数据表中只能设置一个唯一名称的字段名 在同一张数据表中 xff0c 不能出现两个名称完全相同的字段名 因此 xff0c 数据库系统可以通过字段名来区分数据表中的不同字段 在MySQL中 xff0c AL
  • 证明:当gcd(a, b) = 1,则gcd(a + b, a) = 1

    假设 xff1a gcd a b 61 1 证明 xff1a gcd a 43 b b 61 1 反证法 xff1a 假设gcd a 43 b b 61 k 61 1 则 xff1a b 61 k r1 a 43 b 61 a 43 k r
  • 实战microPython(二)时钟和日历的使用

    实战microPython 2 时钟和日历的使用 David Zou 创客DIY乐园 对于一名创客 xff0c 自制一个个性化的时钟或闹钟啥的 xff0c 应该是比较常见的入门级任务了 通常我们制作时钟或闹钟的时候 xff0c 都需要借助专
  • 实战microPython(10)-蓝牙模块的使用

    实战microPython 10 蓝牙模块的使用 David Zou 2018 12 27 本文讲解蓝牙模块的使用 xff0c 以及通过uPyBoard来操作蓝牙模块并实现手机和uPyboard互动 正在学习和使用uPyBoard开发的小伙
  • nohup: failed to run command ‘java’: No such file or directory解决方案

    场景 xff1a Jekins实现自动化部署 问题描述 Jekins打包后端项目后发送Jar到对应的应用服务器 xff0c 通过应用服务器Shell脚本启动服务报错 nohup span class token operator span
  • System.DllNotFoundException: 无法加载DLL

    问题描述 使用VS2005在Windows Server 2003上编译C 43 43 代码 输出dll文件 把该dll放到运行机器 与编译机器的系统完全一致 上 供C 代码 web前台 调用 提示无法加载dll 分析 1 路径完全没有问题
  • Flutter学习(一)

    开始学习 为什么使用 Fultter xff1f 为什么使用 Fultter xff1f 言归正传 xff0c 亘古不变环境搭建 xff1a Android Studio 下载 xff0c 我的是这个版本 xff0c emmmm 首先安装g
  • 树莓派 ubuntu18.04 mate更换为国内镜像源

    文章目录 前言正文参考 前言 我使用树莓派3B 43 xff0c 烧写的操作系统为ubuntu mate18 04 网上的相关教程很多 xff0c 但说的很详细的不多 xff0c 本文算是做一个简单的整理 树莓派采用的是arm架构 xff0
  • Spring常见面试题总结(超详细回答)

    1 Spring是什么 Spring是一个轻量级的IoC和AOP容器框架 是为Java应用程序提供基础性服务的一套框架 xff0c 目的是用于简化企业应用程序的开发 xff0c 它使得开发者只需要关心业务需求 主要包括以下七个模块 xff1
  • 在android studio中使用kotlin

    一 安装kotlin插件 二 导入Kotlin的核心库及其扩展库Anko库 1 在项目根目录下的build gradle文件中指定kotlin插件的版本及路径 buildscript ext kotlin version 61 span c