最近Google的I/O大会又火了了一把,不为别的,只为android开发语言,其实这门开发语言在2010年的时候就已经问世了,只是当时的技术也不是很成熟,google也没有重视它,导致到目前为止,google才开始挖掘这门语言.
我认为这门语言在以后android开发中,会成为主流,原因之一是:受到了google开发人员的重视,二,我觉得最重要的是,版权问题,android使用java开发,始终不是自己的语言,最后难免会出现以前的jvm的问题.我想这大概也试google推崇这门语言的原因之一吧.
下面我们一起来见识一下Kotlin语言吧.
开发环境:
Android Studio
首先,目前studio版本不支持该语言,所以说必须先下载插件(但是在3.0版本,studio会直接支持),下载插件安装过程我就不详细说了.
插件下载完成后,我们开始我们的开发之旅.
新建android工程,和原先的没有什么区别,当然你也可以直接创建Kotlin工程,下载插件后,在创建activity的时候会出现这个界面
Paste_Image.png
箭头标识的是 一个是实体类,一个是activity.
但是我不建议现在直接创建这种. 我建议下面这种方式,先创建以前一样的工程项目.当 你把东西创建完成后,可以直接转换.
转换步骤: 1.将java代码转换成kotlin代码
第一步,打开java代码文件
第二步,Ctrl+shift+A
第三步,在搜索框中输入Convert Java File to Kotlin File即可.Ctrl+shift+K
第四步,配置
![Paste_Image.png](https://img.haomeiwen.com/i3163051/632dfc6f147ea560.png? imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
最后同步一下就ok了.
基本语法:
常量 val 代表用final修饰的
变量 var
静态 companion object 代表static
其他的详见 官方文档
http://www.mamicode.com/info-detail-1172799.html
下面是我写的一个自己以前封装的带上拉加载和下拉刷新的listView的一个Demo
部分代码如下:
private fun initData() {
if (allData.size <= 0) {
for (i in 0..99) {
allData.add("我是张三-----" + i)
}
}
val adpter = MyAdpter(this, allData)
listview!!.adapter = adpter
// listview!!.onItemClickListener = this
listview!!.setOnRefreshListener(object : RefreshListView.OnRefreshListener {
override fun onPullDownRefresh() {
try {
Handler().postDelayed(object : Runnable {
override fun run()
allData.add(0, "我是下拉刷新出来的数据.. ")
adpter.notifyDataSetChanged()
listview!!.onRefreshFinish()
}
}, 3000)
} catch (e: InterruptedException) {
e.printStackTrace()
}
}
override fun onLoadingMore() {
try {
Handler().postDelayed(object : Runnable {
override fun run() {
allData.add("我是加载更多的数据1")
allData.add("我是加载更多的数据2")
allData.add("我是加载更多的数据3")
listview!!.onRefreshFinish()
}
}, 5000)
} catch (e: InterruptedException) {
e.printStackTrace()
}
}
})
}
去掉了标点符号结尾. 该demo只是一个简易的展示.只是一个Kotlin的入门体验.
最后推荐一个java转Kotlin 的网站
https://try.kotlinlang.org/#/Examples/Hello,%20world!/A%20multi-language%20Hello/A%20multi-language%20Hello.kt
源码地址:
https://github.com/Simonhy/Kotlin
其他的github上文章
https://github.com/Simonhy
网友评论