Getting started with Kotlin on Android

  • 时间:
  • 浏览:0

Singleton

Generics简单好用。

在Kotlin里数组默认全部就有协变的。

IT大咖说作为7月24日OpenStack Days China大会(在北京国家会议中心举行)的官方现场直播合作协议协议伙伴,特为小伙伴们争取了大量免费VIP票福利(原价¥800)!

Inline还有个功能叫reified。当大家读取网络返回的后会,会用Gson来解析字符串,在写的过程中会发现语法有冗余。引入reified后会,都都要把类型声明成reified,另一1个 在函数题里就会引用到你这些类型具体的Class。Kotlin有一定的类型推导功能。

Inline function

可能在开发过程中发现有性能难题,都都要把代码进行优化,在代码运行起来后会,body block会被封装成1个 函数对象。加入了Inline,body就会被Inline到函数调用的地方去。

而在Kotlin中,大家都都要直接对double对象进行扩展,再可是我 都要Utils的类了。

Kotlin在Android上都都要自动把view找出来,不都要手写代码。

总结一下

Kotlin提供了高级的语法,类式于data、object等。

Late-Initialized&Lazy

在代码中突然会遇到某些法律方法,它们不都要在构造函数中进行初始化操作,这时就都都要通过lateinit var关键字把它声明成懒加载模式。

Generics

大家要创造1个 协变的应用要能引用它子类的集合,与之对应的还有逆变。

都都要用扩展语法让代码更加可读。

获取法律方法:





嘉宾分享视频地址:http://t.cn/RKwZwbZ

Extensions

在Java中,要想扩展1个 类,大家会写一堆Utils。

Optional

Null pointer是代码中1个 常见的bug。

对于null pointer难题,它有optional对象。

Delegated properties

对于1个 property,都都要把它Delegated1个 对象上,每当读写property的后会,它就有调用对应的函数。

以上是我今天分享的内容,感谢聆听!

而Kotlin要实现1个 单例,只需1个 关键字“object”。

Getter/Setter都都要使Java成员既有封装性,又能对外暴露统统接口。

对于不可变集合是默认协变,可变集合默认是逆变的。

在Kotlin中把Collections分为mutable和immutable两类,另一1个 助于消除错误,设计更好的API。

在Java的使用中会遇到统统难题。它的语法繁琐,API低级;随时可能跳出 null pointer难题;有各种各样的util类和混乱的泛型。

Full name是通过last name和first name组装起来的,必须用到full name的后会,才会调出lazy的你这些表达式,生成1个 值,非常方便,解决了懒加载的难题。

Collections

常见的Collections有Stack、Map、Queue和List等等。

扫码加这位小姐姐微信(或加微信号:ITDKS666),她会告诉你咋整!(备注:openstack)



还有统统其它的法律方法,比如toString、hashCode和equals。



Data Class

在Java Bean里有成员函数string topic、string type和list speakers。

有val、late-intialized、lazy和Collections支持。

Sealed Class

SealedClass都都要限制住1个 副类一共有十2个 个子类。

在Android上有1个 常见的类叫做viewholder。

2017年3月26日,ThoughtWorks高级咨询师张帅、王智勇在“Mobile Open Day—小步构建移动开发知识网络”进行《Getting started with Kotlin on Android》演讲分享。IT大咖说作为独家视频合作协议协议方,经主办方和讲者审阅授权发布。

引入Kotlin

总结一下

Inline function减少了运行的开销。

SeadledClass限制了类的层级。

Delegate使得代码更加简洁。

Coroutines提高了异步代码的可读性。

已知难题

Kotlin与mockito的兼容性。

在Kotlin里的静态代码检查工具还不完善。

Kotlin对于Java里的某些关键词和操作符的语义做了改变。

Coroutines



Coroutines把回调式的写法改成了流式的写法。