Android快速转战Kotlin教程

前言

kotlin是啥里就不用多说了,想必看这篇文章的童鞋肯定是有所了解的。

那么这篇文章你可以收获什么/p>

答:本文主要通过本人如何从java转战到kotlin并应用在实际项目中的个人经历,给大家提供一些学习思路、学习方法以及一些学习资料和个人总结。

前提:你的项目(包含个人项目)即将开始用到kotlin(没有项目作为依托你会缺少十足的动力,而且缺少应用场景乘热打铁那也是白学)
建议:建议没有切换kotlin的小伙伴快来转战kotlin吧!最近一段时间搞了kotlin之后发现写起来确实比java爽多了,语法非常精简,而且据统计现已有30%安卓项目使用了kotlin,所以小伙伴们行动起来吧,这必定是大势所趋,可千万别被淘汰了啊

入门

俗话说万事开头难,不过我们先把Kotlin语法学习一遍,你就会发现so easy,而且语言思想都是相通的

第一步:学习语法

当然是去官网学习喽:http://kotlinlang.org/docs/reference/

如下图:

Android快速转战Kotlin教程

内容与官网一致。

不过不能光看,一定要写,就算照着抄也要多写,尽量在学习时候多和java语法做对比,会印象深刻。
如下图,本人的练习代码:

Android快速转战Kotlin教程

第三步:Demo练习

通过上面的学习我们此刻已经熟悉了kotlin的基本语法,可以来尝试写一个万年历的Demo。

1、新建工程

我们新建一个工程,点击
如图:

Android快速转战Kotlin教程

比我们之前的工程多了下面两个引用和一个依赖:

知识点: 相当于DataBinding,同样的目的为了偷懒不用写findViewByIdAndroid 开发必备。

我们再看一下project中的gradle文件
如图:

比我们之前的工程多了Kotlin编译插件:

2、Demo说明

该项目使用MVP模式,里面用到了Retrofit2+RxJava2,然后使用了聚合的万年历接口,Demo非常简单便于初学者快速掌握。

Demo使用展示:

Android快速转战Kotlin教程

3、Activity

看下布局文件非常简单,我们可以在activity里面直接将控件的id当成变量来使用

注意:直接使用id作为变量的时候,要在Module的gradle里面加入扩展,才能使用,不然会报错

这个上面已经说过,我们创建工程的时候如果选中怎会自动在gradle中生成。

4、Retrofit+RxJava

Retrofit结合RxJava能快捷的使用网络请求。

创建Service接口,Kotlin的类型是写在后面

创建Retrofit,Kotlin的class并不支持static变量,所以需要使用companion object来声明static变量,其实这个变量也不是真正的static变量,而是一个伴生对象

伴生对象可以实现静态调用,通过类名.属性名或者类名.方法名进行调用

通过伴生对象,结合Retrofit结合RxJava 我们直接就可以调用接口了

5、使用对象声明

在写项目的时候,一般会将常量统一写到一个类里面,然后设置静态变量,由于在Kotlin中不存在静态变量,所有就有对象声明的存在,对象声明比较常用的地方就是在这里,对象声明用Objcet关键字表示。

使用的时候直接类名加.加变量名,如

6、使用数据类

Kotlin有专门的数据类,就是用data修饰的类
首先我们先看一下json数据:

再来看一下我的数据类:

就是如此方便

7、MVP

kotlin的MVP和java原理一模一样我先定义了和

IBaseModel

IBaseView

然后完成ICalentarContract,这个类似合同类的接口把P和V的所有方法全部写在一起,看起来代码格外清楚

然后去实现,presenter去实现

so easy~~~ 到这里我们的Demo就完成了,可以尽情玩乐。

项目地址:待上传。。。。。。。。。。。。。

好了,到这里我们基本掌握了Kotlin在安卓中的应用,那么接下来就需要去学习一下kotlin设计模式以及一些进阶知识~

进阶

一、Kotlin设计模式

本文只列出几个常用的设计模式

1、观察者模式( observer pattern )

Example

Usage

Output

2、策略模式( strategy pattern )

Example

Usage

Output

来源:先知丨先觉

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年1月13日
下一篇 2019年1月13日

相关推荐