第一讲主题:了解Kotlin(干货为主)

 

目录:

1.Kotlin语言和android 开发之间的关系.

2.Kotlin的开发工作-Andorid Studio,相关插件和安装升级方法.

3.Kotlin带来的变革.

 

官方解释。

为什么选择 Kotlin?

  • 简洁: 大大减少样板代码的数量。--补充,完成同样的业务能力,kotlin兴许只需要使用三分之一的代码。
  • 安全: 避免空指针异常等整个类的错误。--补充,更强的代码自动检测功能。
  • 互操作性: 充分利用 JVM、Android 和浏览器的现有库。
  • 工具友好: 可用任何 Java IDE 或者使用命令行构建。

 

 

1.Kotlin语言

Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,被称之为 Android 世界的Swift,由 JetBrains 设计开发并开源。

Kotlin 可以编译成Java字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。因为可以被编译成字节码。而虚拟机并不关心字节码是由哪种语言编译而来的。

对于动态语言与静态语言的区分,套用一句流行的话就是:Static typing when possible, dynamic typing when needed。

静态类型语言(Statically typed language) 就是指在运行之前编译时要检查数据的类型的语言。如目前主流的开发语言C、C++,JAVA,C#.

动态类型语言(Dynamically typed language)就是指在运行的时候才去检查数据的类型的语言。如大部分脚本语言,ruby,Python。所谓动态就是在运行的时候根据给变量或者对象的值的类型来确定其类型。

静态编程语言(Statical programming language)就是指运行的时候不可以改变数据类型的结构。

在Google I/O 2017中,Google 宣布 Kotlin 成为 Android 官方开发语言。

2.Kotlin的开发工作-Andorid Studio

Android Studio官网下载:https://developer.android.google.cn/studio/index.html

 

我想在座的没有安装过的朋友估计。。。没有把!!!

 

直接进入主题,告诉大家如何快速切入Kotlin的开发。

在IDE上,新建new project的时候,开发语言选择Kotlin就可以了。

Android kolin T类型初始化 RecyclerView Binding_搜索

这个操作还是很easy的。

 

这里插入一下关于Kotlin插件的安装,如果没有安装的小伙伴。(其实android studio 3.0之后都是默认下载安装了的)。

Android kolin T类型初始化 RecyclerView Binding_Kotlin语言_02

在设置-Plugins-中输入Kotlin,然后进行安装即可。目前最新的版本是1.30.20

这个不多说,自己操作一下即可。

 

 

接下来说一下比较重要的配置配件目录。

在项目路的build目录下,正确引用是这样的

Android kolin T类型初始化 RecyclerView Binding_知识性学习_03

 

在模块的引用是这样的:

Android kolin T类型初始化 RecyclerView Binding_Kotlin_04

Android kolin T类型初始化 RecyclerView Binding_知识性学习_05

 

然后说一下java代码如何直接转,在IDE里面其实已经提供了对应的选项了。

Android kolin T类型初始化 RecyclerView Binding_Kotlin_06

Android kolin T类型初始化 RecyclerView Binding_Kotlin_07

Android kolin T类型初始化 RecyclerView Binding_Kotlin_08

转完之后大概就变成这个模样了,应该很多小伙伴直接懵逼的。没错,很多变化呀。这个后面我们一一细讲。

3.Kotlin带来的变革

我们先来对比一下我们传统的android代码和Kotlin带来的改变。

 

无需再执行FindbyID

TextView tv_hello = (TextView)findViewByID(R.id.textView)

 

只要再引用的地方加入

import kotlinx.android.synthetic.main.activity_easy.*



//activity_easy是我的布局

就可以直接引用修改了

 

直接把id拿来使用即可

 

textView.setText("TextView还不可以调用了?");

直接这样子也是可以调用的

textView.text = "这就很骚操作了";

 

点击事件的改变

button.setOnClickListener(new View.OnClickListener(){





    @Override

    public void onClick(View view) {

        textView.text = "这java还完犊子"

    }

});

 

变成可以这么玩了

button.setOnClickListener{

    textView.text = "这java还完犊子"

}

相对的,长按事件就变成这样

 

button.setOnLongClickListener { textView2.text = "这样可以不";true}

后面的true看参数介绍,是指是否是长按事件,测试如果是false的话,效果是一样的,没有深入去查。

 

 

看看我们的吐司操作

button.setOnLongClickListener { longToast("还可以这样操作了?");true }



button.setOnLongClickListener { toast("还可以这样操作了?");true }

 

 

 

Android studio 个人常用快捷键

快速搜索查找:

Ctril+F



全局快速搜索查找:

Ctril+Shitf+F



搜索和替换

Ctril+R



全局搜索文件:

Ctril+Shift+N



跳转到第几行

Ctril+G



复制当前代码到下一行

Ctril+D



查看搜索本类的函数

Ctril+F12



导入类的引用、引用库或者包

Alt+Enter



搜索项目类的全局类的方法是

Ctrl+N



Shift+Shift 可以搜索一切



复写父类的Ovrride方法

Ctrl+O