Kotlin的初探

最近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](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()
            }
        }
    })
}

去掉了标点符号结尾. 该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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,902评论 25 708
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,930评论 2 45
  • 好几年前,我就看了斯蒂芬·金的《写作这回事:创作生涯回忆录》,在众多谈论写作的书中,这本特别真诚,因为它是在金先生...
    刘淼阅读 1,415评论 3 18
  • 我得妈那边去了。 一句话,你就走了,现在我们的生活跟合租的陌生人没有多大的区别了。 晚上我回家你已经睡了,我就睡女...
    叶子上的虫子阅读 262评论 0 0
  • [爱与成长]20170708 学习力6践行Day 54 早上:①用比巴听sss-cd1从第15首听到第10首 ②听...
    Lynn_1f06阅读 115评论 0 0

友情链接更多精彩内容