kotlin被谷歌正名都快两个月了,作为Android developer是时候学习一波了,kotlin优点有很多比如完全兼容java,空值处理,语法简洁,支持新特性等等。。。
打印
废话不多说,直接开始配置环境搞起来,我用的AS是2.2.3版本,需要装插件,到时候AS3.0会内置kotlin。
一.kotlin环境配置
1.下载插件
等半个小时。。
2.创建kotlin Actitivity
插件安装好重启多了两项
第一次创建需要cofing一下
点击cofigure,选择自己需要的
然后就会自动配置gradle,sync一下就可以运行了
二.java文件转kotlin
安装好插件后就可以使用这个功能了,非常有用,前期不熟悉的时候,还可以写java再转kotlin
三.熟悉基本语法
语法就不一条条过了,用demo来熟悉最好了,用kotlin语法简单的把变量打印一下
class TestKotlinActivity : AppCompatActivity() {//相当于extends AppCompatActivity
val UUID = 1234//常量
var str: String = "hello"//声明类型的变量str
var str1 = "world"//省略类型说明的变量str1
var tv: TextView? = null//可空变量用?
val array = ArrayList<Int>()//定义整形数组
override fun onCreate(savedInstanceState: Bundle?) {//重新onCreate函数
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_test_kotlin)
while (UUID > 0) {
println(UUID)//输出
array.add(8)
array.add(9)
array.add(10)
break
}
for (i in array.indices) {//遍历for,还有多种写法
println(array[i])
}
tv = findViewById(R.id.kotlin_tv) as TextView?//强转TextView
tv!!.textSize = 30f//因为tv声明为可空变量,使用时需要判空tv!!.这样空的时候就会抛空指针 tv?.就是不做处理返回null
tv!!.text = str//给TiextVew设置hello字符串
tv!!.text = "$str, $str1 !"//字符串拼接为hello,world!
tv?.setOnClickListener { v-> printPerson() }//lambda表达式,打印person
var intent : Intent = Intent(this, MainActivity::class.java)//::class.java类名固定写法
// startActivity(intent)
}
private fun printPerson() {//定义方法
var person = Person()
person.name = "jake"//直接赋值
person.age = 18
println("name = ${person.name} and age = ${person.age}")//不是简单变量要加{}
}
class Person {
//不需要写一大堆getter settter了
var name: String? = null
var age: Int? = null
}
}
打印
最后送一个官方文档