kotlin
魁地奇
融云
展开
-
Dagger Hilt 初探
介绍Dagger Hilt (这名字起的溜…)官方描述其设计目的:To simplify Dagger-related infrastructure for Android apps.To create a standard set of components and scopes to ease setup, readability/understanding, and code sharing between apps.To provide an easy way to provision原创 2020-07-09 15:39:16 · 1550 阅读 · 0 评论 -
ViewBinding与Kotlin委托
接上篇幅自定义属性委托的用处很多,例如组合替代继承,给个ViewBinding在Fragment中的使用的例子:委托:/** * 自定义属性委托。 * * <p>......。</p> * <ul><li></li></ul> * <br> * <strong>Time</strong> 2020/5/18原创 2020-06-03 14:57:02 · 489 阅读 · 0 评论 -
Android 注解处理器中的MirroredTypeException异常处理
在AOP开发中我们经常通过Element的getAnnotation(Class<A> var1)方法去获取自定义注解中的传入的属性例如:@Target(AnnotationTarget.FIELD)@Retention(AnnotationRetention.SOURCE)@MustBeDocumentedannotation class TTEventType(val value: KClass<*>)当我们获取KClass<*>类型时会出现javax.原创 2020-05-11 18:11:51 · 1143 阅读 · 0 评论 -
Android设计模式-责任链
简述责任链模式是一种对象的行为模式。通过建立一条链来组织请求的处理者,请求将沿着链进行传递,请求发送者无须知道请求在何时、何处以及如何被处理,实现了请求发送者与处理者的解耦。如Android 中的事件传递,Activity->ViewGroup->View,当然也可以View->ViewGroup-> Activity ,android 中是U形事件传递另外OKhtt...原创 2020-02-21 14:58:33 · 151 阅读 · 0 评论 -
Android设计模式(三) 观察者模式
Android开发中的基于观察者模式实现的设计还是很多的,比如rxjava、LiveData…常见的按钮点击事件Button —> 被观察者OnClickListener —> 观察者setOnClickListener() —> 订阅OnClick() —> 事件观察者模式定义可一对多的依赖关系,让多个观察者同时监听某一个对象,当这个主体对象在状态上发生变化...原创 2020-01-17 18:01:53 · 161 阅读 · 0 评论 -
Android设计模式(一) 工厂模式
简单工厂模式核心作用就是为了通过工厂类隐藏对象的创建逻辑,避免暴露给调用方以富士康生产不同类型的Apple Ipad产品为例:fun main(args: Array<String>) { val ipadNeeded = FoxconnFactory().product(PadType.AIR) print(ipadNeeded.biometric)}in...原创 2020-01-13 16:38:42 · 215 阅读 · 0 评论 -
Kotlin如何安全访问lateinit变量
Kotlin设计之初就是不允许非null变量在声明期间不进行初始化的,为了解决这个问题,Kotlin lateinit 允许我们先声明一个变量,然后在程序执行周期的将来某个时候将其初始化,让编译检查时不会 因为属性变量未被初始化而报错。如果未初始化将导致以下异常:kotlin.UninitializedPropertyAccessException: lateinit property mLis...原创 2020-01-09 13:53:08 · 1433 阅读 · 0 评论 -
kotlin中的reified关键字
说kotlin中这个关键字之前先简单说下Java中的泛型,我们在编程中,出于复用和高效的目的,经常使用泛型。泛型是通过在JVM底层采取类型擦除的机制实现的,Kotlin也是这样。泛型泛型是 Java SE 1.5 中的才有的特性,泛型的本质是参数化类型,可分为泛型类、泛型接口、泛型方法。在没有泛型的情况的下只能通过对Object 的引用来实现参数的任意化,带来的缺点就是要显式的强制类型转换,而...原创 2020-01-09 13:49:53 · 7419 阅读 · 0 评论