那么,现在大家开发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了。