kotlin正式由Goole公布为Android的最新开发语言

那么,现在大家开发Android的话一般来说都是直接用Java,这个没错吧(高手除外)。嗯,那么用力那么久的Java,不知道大家是否有想过Java的不足,已经很多可以优化的地方呢。当然,新修订的版本中也逐渐覆盖以往的不足,但是Android开发者们还没来得及用上它。所以这也使得Kotlin这样的语言可以有用武之地,可以让开发者们在旧的开发环境中使用新的特性。

嗯,然后我想说的是其实我也接触这门语言不是很久,今天就写一个入门级的博文吧,至少能让大家可以在Android Studio中尝试用Kotlin去开发是吧。

如何在Android studio使用Kotlin开发

(之前我第一次接触的时候看了很多博文,其实现在的配置完全不用像以前那么麻烦,其实就很简单的3个步骤)

1.在IDE plugins中下载Kotlin插件

打开你的Android studio 在设置中打开plugins,然后在里面搜索Kotlin,点击安装,之后安装后重启。
这里写图片描述

2.创建、转换Kotlin文件

然后就是新建一个工程,然后你可以右键试试,看看是不是多出了2个选项。如图。
这里写图片描述
然后定位到MainActivity,在菜单栏选择“Code”,选择“Convert Java File to Kotlin File”,你会看到你的MainAvtivity变成了Kotlin文件,这个时候其实你去编译的话是有问题的。看第三步。
这里写图片描述

3.配置Kotlin(其实是全自动)

然后由于你是第一次使用Kotlin,Studio会提示要你配置Kotlin的,点击配置即可,其实啥都不用选,直接点“ok”。到这里你就配置完成了,然后可以试试编译运行了。
这里写图片描述

尝试使用Kotlin编写代码

数据类型定义

数据模型在开发中绝对是不可避免的,以往都会定义很多变量,然后添加get(),set()方法。如果现在使用Kotlin开发,你可以这么定义。

/**
 * Created by Blin on 2016/10/20.
 */

data class People(
        var id: Long,
        var name: String,
        var weight: Double,
        var height: Double
)

空类型是安全的

以往我们在使用数据的时候最多的就是

if(a != null){
    ...

那么在Kotlin中其实完全么有必要这么写了,可以看一下下面代码的顺序思路和注释。

//        这是不允许的,People不能为null
//        var people: People = null
//        以下是正确的声明
        var people: People? = null
//        不可以直接调用people,因为有可能people是null
//        people.id
//        如果people有可能为null,则必须先用如下的形式判断
        people?.id
//        当然,如果按照java的习惯,先判断不为null了,那也是可以直接使用的
        if(people !=null) people.id
//        如果能该变量一定不为null,可以使用2个感叹号表示,但是如果为null,那会抛出异常
//        people!!.id

可以看出,在上面声明变量的时候不能直接生命为null,必须在等号前面加一个? 表示其实people是可以为null的。然后就是不能直接调用方法或者引用变量,必须在引用之前加?询问,当然如果能保证当前变量一定不为null,那可以直接用!!表示然后调用。如果在if()中判断了不为null,那么是可以直接调用的。

可扩展函数

刚才上面我们创建了一个People类,如果我想要给该类添加一个方法,可以这么做

fun People.toast(context: Context,message: CharSequence){
        Toast.makeText(context,message,Toast.LENGTH_SHORT).show()
    }

然后想调用可以这么调用

mPeople.toast(mContext,"其实我是来测试的")

Lambdas

这个函数其实java8也支持了,当然之前大家是通过第三方依赖来支持的。
我这边找到那个默认TextView,然后添加点击事件

tv = findViewById(R.id.text) as TextView?
tv?.setOnClickListener { mPeople.toast(mContext,"其实我是来测试的") }

然后你点击那个“holleWord” 就可以显示Toast了。

posted @ 2017-05-19 14:00  dub  阅读(497)  评论(0编辑  收藏  举报