美文网首页
从Android项目学习Kotlin(一)

从Android项目学习Kotlin(一)

作者: Ayres | 来源:发表于2018-03-15 17:34 被阅读0次

    一、优点

    Kotlin 非常适合开发 Android 应用程序,将现代语言的所有优势带入 Android 平台而不会引入
    任何新的限制:

    1.兼容性:Kotlin 与 JDK 6 完全兼容,保障了 Kotlin 应用程序可以在较旧的 Android 设备

    上运行而无任何问题。Kotlin 工具在 Android Studio 中会完全支持,并且兼容 Android 构
    建系统。

    2.性能:由于非常相似的字节码结构,Kotlin 应用程序的运行速度与 Java 类似。 随着

    Kotlin 对内联函数的支持,使用 lambda 表达式的代码通常比用 Java 写的代码运行得更
    快。

    3.互操作性:Kotlin 可与 Java 进行 100% 的互操作,允许在 Kotlin 应用程序中使用所有现

    有的 Android 库 。这包括注解处理,所以数据绑定和 Dagger 也是一样。

    4.占用:Kotlin 具有非常紧凑的运行时库,可以通过使用 ProGuard 进一步减少。 在实际

    应用程序中,Kotlin 运行时只增加几百个方法以及 .apk 文件不到 100K 大小。

    5.编译时长:Kotlin 支持高效的增量编译,所以对于清理构建会有额外的开销,增量构建通

    常与 Java 一样快或者更快。

    二、Android 推荐使用的工具

    1. Kotlin Android 扩展是一个编译器扩展, 可以让你摆脱代码中的 findViewById() 调用,

    并将其替换为合成的编译器生成的属性。

    2.Anko 是一个提供围绕 Android API 的 Kotlin 友好的包装器的库,以及一个可以用 Kotlin
    3.Kotlin 用于 Android 代码替换布局 .xml 文件的 DSL。
    4.KAndroid - Kotlin library for Android
    5.Bubble - 屏幕方向监测
    6.Kotpref -android sp缓存工具
    7.Fuese - android内存缓存工具
    8.Kotter Knife KotlinPoet 类似黄油刀的依赖注入框架
    9.Klaxon 一个解析 JSON 的库

    三、AndroidStudio配置

    1.插件安装
    image.png

    当插件安装完毕后,重启Android Studio即可。
    打开Android Studio新建一个项目,和往常一样建立一个项目就可以了,项目建立好以后,我们会在右键菜单New下看到多出来Kotlin File/Class和Kotlin Activity两个选项。


    image.png

    第一次新建Kotlin类后,会显示“Kotlin not configured”,点击“Configure”,进入Kotlin配置页面。


    image.png
    根据自己的需要选择需要配置的范围,全部模块或单个模块,然后确定就可以了,我直接默认选项过去
    配置完成后会自动在你的Project下的build.gradle与moudle下的build.gradle下配置相应的参数。
    project下build.gradle中的参数
    image.png

    module下 build.gradle中的参数


    image.png
    2.把项目转换为kotlin项目:
    image.png

    新建好的MainActivity.java, 注意这里是.java后缀的java文件,我们可以手动转换为kotlin代码


    image.png
    image.png

    四、简化findViewById

    我们知道,Android的架构里,xml布局文件和Activity是松耦合的,Activity中要使用界面元素,必须借助R文件对xml控件的记录,用findViewById找到这个元素。
    在Kotlin中我们可继续使用findViewById去绑定xml布局中的控件:(TextView)findViewById(R.id.hello);
    进一步引用Anko之后,可以使用find函数去绑定控件:find(R.id.hello),不需要类型转换
    同时,Kotlin还提供一种更激进的方法,通过在gradule中引用

    applyplugin:'kotlin-android-extensions'
    

    彻底取消findViewById这个函数,具体做法如下:

    首先,在app的gradule中,添加引用


    image.png

    然后,在Activity中直接根据id使用界面元素


    image.png

    五、Anko简单使用(有很多坑,不建议使用)

    Anko其实是一种DSL(领域相关语言),是专门用代码方式来写界面和布局的。
    我们可以看看Anko在Github上的代码示例,用6行代码就做出了一个有输入框、按钮、点击事件和Toast的界面和功能

    image.png
    我们自己写一下这6行代码,首先需要在gradle中添加引用,主要是sdk和v4/v7包
    image.png

    相关文章

      网友评论

          本文标题:从Android项目学习Kotlin(一)

          本文链接:https://www.haomeiwen.com/subject/llbhqftx.html