Android开发知识小集Android 新技术学习

Kotlin使用注意事项

2018-08-29  本文已影响217人  小斌_bingor

1.Java调用Kotlin

如果在Java代码里面调用了Kotlin的代码,编译的时候报类似下面的错误 找不到包或者类

那么,很可能是这个包对应Module的build.gradle文件没有配置 applyplugin:'kotlin-android',加上即可

apply plugin: 'kotlin-android'

拓展:其他插件

kotlin-android-extensions

kotlin-android-extensions 是用来替代findViewById的插件,假设有一个布局文件 activity_main,那么在Activity类里面,只需要把布局文件import进去即可,import之后直接根据控件的id即可进行UI操作,如下:

//1
apply plugin: 'kotlin-android-extensions'
//2
import kotlinx.android.synthetic.main.activity_main.*
//3
textView.setText("hello world")

kotlin-kapt

如果你的Kotlin代码里面有使用到注解,那么需要加入这个插件(kapt 即 Kotlin annotation processing tool,Kotlin 注解处理工具的缩写)

apply plugin: 'kotlin-kapt'

2.Kotlin避免空指针

Kotlin提供了!!和?操作符来协助规避空指针异常的问题
网上找到关于!!的解释:表示当前对象不为空的情况下执行
这个介绍是错误的!错误的!错误的!
实际上,!!是表示当前这个地方可能存在 kotlin.KotlinNullPointerException 的风险,你需要谨慎处理,并不会因为对象为空就不执行这行代码

如何正确避免空指针:

使用"?",如下:

var abc: Int? = null
        abc?.let {
            //只有abc不为null才会执行这里面的代码
            //do anything what u want
        }

Kotlin的成员变量无法被Java子类使用的问题

你可能会碰到这样的问题: 父类定义一个变量 说这个变量是私有的(英文不好,大概这么个意思吧)

解决方法

abstract class Test{
    @JvmField
    protected var TAG: String
}

待续

上一篇 下一篇

猜你喜欢

热点阅读