Kotlin & Android

米树
2023-12-01

一、绑定xml控件

Android中默认可使用以下语句绑定xml

var tv = findViewById<TextView>(R.id.tv)

 

二、集成绑定xml插件

apply plugin:'kotlin-android-extensions'

//Activity中直接使用

tv.text = "学习Kotlin插件"

 

三、关于Anko

代替xml的Anko不够成熟,虽然更加简洁,但是暂不支持实时预览,而且复杂界面画在主类中会影响代码美观,需要单独处理,暂不学习;

 

四、Kotlin相比Java语言特征总结

1.省略结尾;

2.:连接类型和对象

var name: String = " : 测试"

3.方法声明,返回类型写在最后

fun testFun(name: String): String {

return ""

}

4.继承和实现都可以通过 : 连接

5.使用.class可以两个 ::

var intent = Intent(this,MainActivity::class.java)

6.实例化对象不需要new

var list:List<String> = ArrayList<String>()

7.变量和常量都可以用var定义,同事kotlin支持类型推理,即可以省略其类型,但需要强制赋值

var name: String = ":测试"

8.?表示可以为空;!!表示不可以为空,实用对象或函数的声明

//三种对声明变量是否可以为空的例子

val v1 = name?.toInt() //可以为空

val v2 = name?.toInt() ?: 0 //为空是返回0

val v3 = name!!.toInt() //为空就抛出异常

9.Unit相当于Java中的void,也可省略Unit,即默认返回void

10.is相当于instance of,in表示区间和集合(in在遍历时功能强大,可以指定遍历步长,可以指定起始位置,也可以指定正序或者倒叙,也可以反转对象),..表示区间

var v4: Int = 3

if (v4 in 1..5) {

}

11.when取代了switch,而且十分强大,同时支持各种类型的判断

12.Any类型相对于Java中的基类Object

13.对于实体类,省去set、get以及toString等方法

 类似资料: