Kotlin的初探

最近Google的I/O大会又火了了一把,不为别的,只为android开发语言,其实这门开发语言在2010年的时候就已经问世了,只是当时的技术也不是很成熟,google也没有重视它,导致到目前为止,google才开始挖掘这门语言.
我认为这门语言在以后android开发中,会成为主流,原因之一是:受到了google开发人员的重视,二,我觉得最重要的是,版权问题,android使用java开发,始终不是自己的语言,最后难免会出现以前的jvm的问题.我想这大概也试google推崇这门语言的原因之一吧.
下面我们一起来见识一下Kotlin语言吧.
开发环境:

Android Studio

首先,目前studio版本不支持该语言,所以说必须先下载插件(但是在3.0版本,studio会直接支持),下载插件安装过程我就不详细说了.
插件下载完成后,我们开始我们的开发之旅.
新建android工程,和原先的没有什么区别,当然你也可以直接创建Kotlin工程,下载插件后,在创建activity的时候会出现这个界面

Kotlin的初探
文章图片
Paste_Image.png
箭头标识的是 一个是实体类,一个是activity.
但是我不建议现在直接创建这种. 我建议下面这种方式,先创建以前一样的工程项目.当 你把东西创建完成后,可以直接转换.
转换步骤: 1.将java代码转换成kotlin代码
第一步,打开java代码文件 第二步,Ctrl+shift+A 第三步,在搜索框中输入Convert Java File to Kotlin File即可.Ctrl+shift+K 第四步,配置 ![Paste_Image.png](http://upload-images.jianshu.io/upload_images/3163051-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() } } }) }

【Kotlin的初探】去掉了标点符号结尾. 该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

    推荐阅读