zoukankan      html  css  js  c++  java
  • kotlin正式由Goole公布为Android的最新开发语言

    那么,现在大家开发Android的话一般来说都是直接用Java,这个没错吧(高手除外)。嗯,那么用力那么久的Java,不知道大家是否有想过Java的不足,已经很多可以优化的地方呢。当然,新修订的版本中也逐渐覆盖以往的不足,但是Android开发者们还没来得及用上它。所以这也使得Kotlin这样的语言可以有用武之地,可以让开发者们在旧的开发环境中使用新的特性。

    嗯,然后我想说的是其实我也接触这门语言不是很久,今天就写一个入门级的博文吧,至少能让大家可以在Android Studio中尝试用Kotlin去开发是吧。

    如何在Android studio使用Kotlin开发

    (之前我第一次接触的时候看了很多博文,其实现在的配置完全不用像以前那么麻烦,其实就很简单的3个步骤)

    1.在IDE plugins中下载Kotlin插件

    打开你的Android studio 在设置中打开plugins,然后在里面搜索Kotlin,点击安装,之后安装后重启。
    这里写图片描述

    2.创建、转换Kotlin文件

    然后就是新建一个工程,然后你可以右键试试,看看是不是多出了2个选项。如图。
    这里写图片描述
    然后定位到MainActivity,在菜单栏选择“Code”,选择“Convert Java File to Kotlin File”,你会看到你的MainAvtivity变成了Kotlin文件,这个时候其实你去编译的话是有问题的。看第三步。
    这里写图片描述

    3.配置Kotlin(其实是全自动)

    然后由于你是第一次使用Kotlin,Studio会提示要你配置Kotlin的,点击配置即可,其实啥都不用选,直接点“ok”。到这里你就配置完成了,然后可以试试编译运行了。
    这里写图片描述

    尝试使用Kotlin编写代码

    数据类型定义

    数据模型在开发中绝对是不可避免的,以往都会定义很多变量,然后添加get(),set()方法。如果现在使用Kotlin开发,你可以这么定义。

    /**
     * Created by Blin on 2016/10/20.
     */
    
    data class People(
            var id: Long,
            var name: String,
            var weight: Double,
            var height: Double
    )

    空类型是安全的

    以往我们在使用数据的时候最多的就是

    if(a != null){
        ...
    

    那么在Kotlin中其实完全么有必要这么写了,可以看一下下面代码的顺序思路和注释。

    //        这是不允许的,People不能为null
    //        var people: People = null
    //        以下是正确的声明
            var people: People? = null
    //        不可以直接调用people,因为有可能people是null
    //        people.id
    //        如果people有可能为null,则必须先用如下的形式判断
            people?.id
    //        当然,如果按照java的习惯,先判断不为null了,那也是可以直接使用的
            if(people !=null) people.id
    //        如果能该变量一定不为null,可以使用2个感叹号表示,但是如果为null,那会抛出异常
    //        people!!.id

    可以看出,在上面声明变量的时候不能直接生命为null,必须在等号前面加一个? 表示其实people是可以为null的。然后就是不能直接调用方法或者引用变量,必须在引用之前加?询问,当然如果能保证当前变量一定不为null,那可以直接用!!表示然后调用。如果在if()中判断了不为null,那么是可以直接调用的。

    可扩展函数

    刚才上面我们创建了一个People类,如果我想要给该类添加一个方法,可以这么做

    fun People.toast(context: Context,message: CharSequence){
            Toast.makeText(context,message,Toast.LENGTH_SHORT).show()
        }

    然后想调用可以这么调用

    mPeople.toast(mContext,"其实我是来测试的")

    Lambdas

    这个函数其实java8也支持了,当然之前大家是通过第三方依赖来支持的。
    我这边找到那个默认TextView,然后添加点击事件

    tv = findViewById(R.id.text) as TextView?
    tv?.setOnClickListener { mPeople.toast(mContext,"其实我是来测试的") }

    然后你点击那个“holleWord” 就可以显示Toast了。

  • 相关阅读:
    集合类说明及区别
    Liferay
    ASP项目部署IIS7.5中遇到的问题
    IBM X3650 M3/M4的服务器装系统
    在table中tr的display:block在firefox下显示布局错乱问题
    Firefox table 不居中解决办法 解决火狐层或 table 不居中
    Java进阶: File类的特点?如何创建File类对象?Java中如何操作文件内容,什么是Io流Io流如何读取和写入文件?字节缓冲流使用原则?
    计算机期末考试高频考试题目,附带题目解析
    java基础使用的集合大总结
    TreeMap集合根据指定元素,进行删除和修改bug梳理
  • 原文地址:https://www.cnblogs.com/dubo-/p/6878023.html
Copyright © 2011-2022 走看看