Kotlin在项目中简单使用

Kotlin 在我印象里是出来好久的语言来,2017年 google宣布 咳咳复制个原话

5月18日,安卓团队在谷歌 I/O 2017 大会上宣布 Kotlin 成为官方头等支持语言。

在我新接手的新项目中,一些简单页面我现在也在使用Kotlin写了,之前也了解过一些相关语法,但是真上手后发现还是有好多问题存在,于是自己google,百度搞定。

说一下我在项目中的使用吧

我一般都是activity或者fragment使用的Kotlin,说一下新建时候的操作吧

我平时习惯新建一个activity的流程是

找到对应的包,右击(用mac触摸的默认 两个指头单击)New -> Activity -> Empty Activity 改一下名字

长这个样子,最后一项 Source Language 现在是java 下拉一下选择Kotlin

Finish

发现继承 变成了 :后面跟上夫类还加个小括号

说一下遇到问题,因为项目是mvp,所以我要实现 view接口但是我写 implements 竟然报错。。。最后发现,直接在继承的类后面,加一个逗号,没错就是逗号,然后再写你要实现的接口就ok了。像这样

这个时候要注意 TODO ,它不能在方法开始的第一行,因为它会报错,没错 你运行试试保准报错(先不说返回值的错误),

解决就是删除掉,或者在TODO前面有代码。。。

看一下方法 实现 夫类的方法都有  override,fun 是修饰 表明它是一个方法, 返回值的类型在 :(冒号)后面,比如图中的 

override fun createPresenter(): LoginPresenter

需要返回的对象就是 LoginPresenter

override fun getLayoutId(): Int

这个就是 Int类型

返回依然是 通过 return 。。。。 不过不用写分号了,刚开始不习惯,后面越写越爽

再来说一下 for循环吧

简单的 int i。。。

for (i: Int in 1..10) {
    dataArray.add("小王$i")
}

没错就这么简单,i是变量名字 :后面表示什么类型,然后 in 表示在什么范围

字符串拼接整数 可以不用加,直接来个 $整数

然后还有switch更爽

咳咳我好像删除了,反正关键字是 when。。。后面有空再补充

接下来是 setOnclickListener了 

纠结了好久的先来个简单写法

btn.setOnClickListener {
开始你的骚操作吧!
}

就这么简单 没办法

有点水平的

.setXListViewListener(object : XListView.IXListViewListener {
override fun onRefresh() {
}
override fun onLoadMore() {

}
}

嗯 好像是只有一个方法的接口 可以直接省略,两个以上的这个写。。。。

object是固定写法

xml id 找控件

没错 我也纠结了半天的

private val learnStateLv: XListView by lazy() {
    findViewById<XListView>(R.id.learn_state_lv)
}

麻烦的写法

val是常量  var是变量

kotlin有插件 可以直接使用。。

直接在类里面敲你的 id名字 然后就自动可以用了,它就是View对象了神奇吧

然后你发现它会多导入这个包

import kotlinx.android.synthetic.main.activity_massage_news.*

补充一下 start跳转吧

在匿名内部类里面 的this要这样写 this@AnnouncementActivity,普通的可以直接写 this
startActivity(Intent(this@AnnouncementActivity, MessageWorkActivity::class.java))

fragment的 直接写 activity 它就表示是 getActivity

嗯 开心玩耍吧!

发布了20 篇原创文章 · 获赞 5 · 访问量 9502

猜你喜欢

转载自blog.csdn.net/Small_Wave_Wave/article/details/88845305