在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,你就能看到不一样的变化,代码如下所示
代码语言:javascript复制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还是有一些区别的,但是也能看到眼熟的就是
代码语言:javascript复制 super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
相信不用介绍了,(还有一个要注意的是在Kotlin里面句尾可以不用加分号,这个在Java里面是不行的)现在我们打开activity_main.xml文件,在里面放一个TextView并且给一个ID
代码如下:
代码语言:javascript复制<?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的话要怎么实例化控件呢?
先导入一个包
代码语言:javascript复制import kotlinx.android.synthetic.main.activity_main.*
然后复制你的控件id 粘贴到onCreate方法下面
如果你不喜欢手动复制包导入的方式可以先将控件id复制到onCreate方法下面,然后右键点击这个id 按Alt Enter导入import,就会自动添加上面的哪个包了,然后我们给这个文本赋值,我这里默认值是Hello World,(PS:不管学习什么新的语言,Hello World,都是要第一个尝试的,),我要改变它的值,
代码如下:
代码语言:javascript复制tv_tip.text = "Hello Money!"
这个语法跟Java就很不一样了。
我们看看这个text的方法
然后我们运行一下,在手机上查看
多么朴实无华的页面,别和我谈什么狗血爱情故事,我现在只想搞钱。
OK,就先到这里吧,产品又改需求了,我得去实现功能了。