先搞一波kotlin,看它怎么说

       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
    }

}

打印



最后送一个官方文档

猜你喜欢

转载自blog.csdn.net/PK0071/article/details/73977926