在Android Studio中使用Kotlin

时间:2022-07-25
本文章向大家介绍在Android Studio中使用Kotlin,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

在Android Studio中使用Kotlin

对Kotlin学习想要深入的可以看以下的文章,我也在学习中,多多交流沟通。 Kotlin学习日志(一)TextView、Button、Toast的使用 Kotlin学习日志(二)数据类型 Kotlin学习日志(三)控制语句 Kotlin学习日志(四)函数 Kotlin学习日志(五)类与对象

首先要说明为什么要学习Kotlin,因为以后可能Java将会闭源,安卓团队在谷歌 I/O 2017 大会上宣布 Kotlin 成为官方头等支持语言。而之后Android Studio版本的首先语言也都是Kotlin而不是Java,另一点也是亲身经历,就是现在出去面试Andorid开发,面试官都会问你知不知道Kotlin?多久能掌握?。这是我亲生经历的,所以重要性就不必多说了,类似于华为的鸿蒙系统一样,Kotlin也将是如同备胎转正一样,下面进入正题。

1.在Android Studio上面创建一个Kotlin语言为主的项目 如下图所示创建项目

创建完成之后打开MainActivity,你就能看到不一样的变化,代码如下所示

package com.example.kotlintest

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle

class MainActivity : AppCompatActivity() {

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

跟之前用Java为主语言的MainActivity还是有一些区别的,但是也能看到眼熟的就是

		super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

相信不用介绍了,(还有一个要注意的是在Kotlin里面句尾可以不用加分号,这个在Java里面是不行的)现在我们打开activity_main.xml文件,在里面放一个TextView并且给一个ID 代码如下:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/tv_tip"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

然后回到MainActivity,这个时候按Java的逻辑来的话就要先实例化控件,再给控件赋值,然后页面渲染出来,相信都知道,那么用Kotlin的话要怎么实例化控件呢?

先导入一个包

import kotlinx.android.synthetic.main.activity_main.*

然后复制你的控件id 粘贴到onCreate方法下面 如果你不喜欢手动复制包导入的方式可以先将控件id复制到onCreate方法下面,然后右键点击这个id 按Alt+Enter导入import,就会自动添加上面的哪个包了,然后我们给这个文本赋值,我这里默认值是Hello World,(PS:不管学习什么新的语言,Hello World,都是要第一个尝试的,),我要改变它的值, 代码如下:

tv_tip.text = "Hello Money!"

这个语法跟Java就很不一样了。 我们看看这个text的方法

然后我们运行一下,在手机上查看

多么朴实无华的页面,别和我谈什么狗血爱情故事,我现在只想搞钱。 OK,就先到这里吧,产品又改需求了,我得去实现功能了。