上一章内容已经写了集成Kotlin环境。来来来,开始了解它的基本用法啦 作为刚接触Kotlin的码农,很多基础还在学习中... 以下是我用到的以及理解的Kotlin
在项目中用到的函数基本都在Activity中,so 就先用Kotlin创建Activity。先贴出对比 Java 和 kotlin基本语法
java集成类需要extends 标识 实现某个接口 需要 implements。但是 kotlin 改成 :符号 实现接口只需要用 , 添加。 用了kotlin 发现它有很多符号标识。好啦,我就说我知道的一些吧 还有很多待开发中呢 你也可以告诉我的呀...
用的比较多的是定义变量。例如RecyclerView的定义
varrecyclerview:RecyclerView
如果只是这样定义 AS会提示你 该属性必须初始化或者变成抽象的 因为这个控件你必须得bind布局之后才能初始化,所以 这时候加上lateinit属性就不会报错了lateinit定义的变量可以在任何位置初始化并且可以初始化多次 ,但是lateinit不支持基础类型的 氮素你可以用by Delegates.notNull例如
varnumber: IntbyDelegates.notNull()
vartitleStr:StringbyDelegates.notNull()
对应判空出来kotlin不仅提供函数还提供一些符号标识 。对于变量标识 两个关键字 可用var 和val,但是不一样 var 代表可变变量 val代表只读变量 所以 如果你的变量定义val 关键字 那必须给它赋值并且 所以 lateinit不能用在val标识的变量。还有一个很重要的fun代表定义的函数。说到fun 想到我刚开始想写一个返回String类型的方法是 不知道如何添加返回类型 下面是简单的一个返回String方法展示:
//时间 格式 kotlin
fun long2string(time: Long, pattern: String): String {
val format = SimpleDateFormat(pattern)
return format.format(time)
}
//时间 格式 java
public String long2string(long time,String pattern){
SimpleDateFormat format = new SimpleDateFormat(pattern);
return format.format(time);
}
如果需要添加返回类型 只需要在函数后面添加 ( : 类型 )
在写项目过程中发现kotlin对get/set并没那么区分,例如
textview.visibility ==View.GONE 并不像java中textview.getVisibility()
textview.text="赋值" Java中是 textview.setText("赋值")
还有例如Activity跳转到某个类 kotlin是这样的
val intent = Intent(this, WriteNoteActivity::class.java)
startActivity(intent)
类是 ::class.java 这并不是代表当前activity是kotlin写的 WriteNoteActivity类是Java写的 这只是kotlin的语法
好啦!!! 暂时先记录这么点 还有很多待学习... 共勉!
领取专属 10元无门槛券
私享最新 技术干货