一、绑定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等方法