使用Kotlin开发android学习记录(一)

来源:互联网 发布:四川广电网络投诉电话 编辑:程序博客网 时间:2024/05/21 08:38

前言
Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,被称之为 Android 世界的Swift,由 JetBrains 设计开发并开源。
Kotlin 可以编译成Java字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。
在Google I/O 2017中,Google 宣布 Kotlin 成为 Android 官方开发语言。

配置环境

Kotlin配置非常简单,在AS中搜索插件Kotlin,安装即可,然后在包目录下右键新建文件,就会出现选择新建一个kotlin文件,然后AS会提示需要修改配置文件,点击确定,重新build(需要下载一些东西)。Kotlin 程序文件以 .kt 结尾。

使用kotlin创建一个Activity

class MyKotlin: Activity() {    override fun onCreate(savedInstanceState: Bundle?) {        //相当于onCreate生命周期函数        super.onCreate(savedInstanceState)        setContentView(R.layout.kotlin_layout);    }}

kotlin语法请自行百度掌握

声明变量
在android中基本语句就是定义变量和获得控件对象,而kotlin在定义变量时提供两种关键词:
可变变量定义:var 关键字
不可变变量定义:val 关键字,只能赋值一次的变量(类似Java中final修饰的变量)

kotlin定义变量非空属性必须在定义的时候初始化,但android的组件对象要在onCreate生命周期后才能获得对象,所以kotlin还提供了一种可以延迟初始化的方案,当变量第一次使用时初始化。

对于val 变量使用lazy方案

val button:Button by lazy{        findViewById(R.id.button2) as Button//变量第一次使用时执行初始化}

对于var 变量使用lateinit 方案

private lateinit var name:String

点击事件
kotlin提供非常简单的按钮点击事件

button.setOnClickListener{     Log.e("MyKotlin","点击了按钮")}

完整代码

class MyKotlin: Activity() {    val button:Button by lazy{        findViewById(R.id.button2) as Button    }    private lateinit var name:String    override fun onCreate(savedInstanceState: Bundle?) {        //相当onCreate生命周期函数        super.onCreate(savedInstanceState)        setContentView(R.layout.kotlin_layout);        button.text="MyKotlin";        button.setOnClickListener{            Log.e("MyKotlin","点击了按钮")        }        name="JY"        Log.e("name",name);    } }

针对控件的使用,AS还提供了一个插件:kotlin-android-extensions,使得可以直接使用控件的id作为对象进行操作
在gradle.build中添加插件
这里写图片描述

在Activity类文件中使用id作为控件对象

这里写图片描述

kotlin很强大,对比java,代码简洁了很多,但要使用好,还要认真学习kotlin语法,主要是要理解它的思想,从java转过来学习kotlin,还要时刻分清楚这不是java语言,不能用java思想编程(刚开始学习的时候,第一想法就是用java怎么实现的-_-)