简介
主要会通过安卓实战来讲解kotlin语法和实际应用,本教程设及知识点包括框架模式mvp+mvvm, Databinding(数据绑定框架),Dagger2(依赖注入框架),DeepLink(页面路由框架),Rxjava,RxAndroid(异步操作框架),Retrofit,Okhtttp等,不过本教程重点在kotlin所以这些框架需要了解可自行百度。
针对人群:Android中级以上,kotlin入门
上一篇文章讲了应用入口类,里面包含一个ApiComponent,这个是dagger2注射器,下面我们就讲这个接口
都是程序员,直接看代码
/**
* Created by bigman on 18-05-20.
* 知识点:类引用和数组类型
*/
@Singleton
@Component(modules = arrayOf(ApiModule::class))
//@Component(modules = [(ApiModule::class)])
interface ApiComponent{
fun inject(app: App)
fun plus(module: FuckGoodsModule):FuckGoodsComponent
fun plus(module: RandomModule):RandomComponent
fun plus(module: GirlModule):GirlComponent
}
语法点1:kotlin类引用
@Component(modules = arrayOf(ApiModule::class))
我们可以看到ApiModule::class这个在java里面是ApiModule.class,但是在kotlin里面要获取一个类型的引用,需要用引用操作符::
,这个符号可以获取函数、属性以及构造函数的引用,更多实例可以点击蓝色链接
语法点2:数组类型
Kotlin 标准库提供了arrayOf()创建数组,所以一般后缀是arrayOf()的,都可以找到相应的数组类型,以下是常用的几种,还有很多可以看看官方API,当然也可以声明成下面代码形式
@Component(modules = [(ApiModule::class)])