前言
kotlin是啥里就不用多说了,想必看这篇文章的童鞋肯定是有所了解的。
那么这篇文章你可以收获什么/p>
前提:你的项目(包含个人项目)即将开始用到kotlin(没有项目作为依托你会缺少十足的动力,而且缺少应用场景乘热打铁那也是白学)
建议:建议没有切换kotlin的小伙伴快来转战kotlin吧!最近一段时间搞了kotlin之后发现写起来确实比java爽多了,语法非常精简,而且据统计现已有30%安卓项目使用了kotlin,所以小伙伴们行动起来吧,这必定是大势所趋,可千万别被淘汰了啊
入门
俗话说万事开头难,不过我们先把Kotlin语法学习一遍,你就会发现so easy,而且语言思想都是相通的
第一步:学习语法
当然是去官 学习喽:http://kotlinlang.org/docs/reference/
如下图:
内容与官 一致。
不过不能光看,一定要写,就算照着抄也要多写,尽量在学习时候多和java语法做对比,会印象深刻。
如下图,本人的练习代码:
第三步:Demo练习
通过上面的学习我们此刻已经熟悉了kotlin的基本语法,可以来尝试写一个万年历的Demo。
1、新建工程
我们新建一个工程,点击
如图:
比我们之前的工程多了下面两个引用和一个依赖:
知识点: 相当于DataBinding,同样的目的为了偷懒不用写findViewByIdAndroid 开发必备。
我们再看一下project中的gradle文件
如图:
比我们之前的工程多了Kotlin编译插件:
2、Demo说明
该项目使用MVP模式,里面用到了Retrofit2+RxJava2,然后使用了聚合的万年历接口,Demo非常简单便于初学者快速掌握。
Demo使用展示:
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进行处理,非常感谢!