摘要:
不说话,直接举例 // zip 2 observables Observable.zip(Observable.just(0), Observable.just(0), BiFunction { t1: Int, t2: Int (t1 + t2) }) // zip 3 observables O 阅读全文
摘要:
NYTimes Stores 是一个缓存库,在 2017年的 AndroidMakers 大会上被介绍过。 https://github.com/NYTimes/Store 实现一个 Disk Cache 需要以下几个步骤: 1. 在 Retrofit 的 API 下 @GET("/v1/event 阅读全文
摘要:
Kotlin 有 extension 可以很方便的让类继承 Parcelable 接口。 1. 项目中引入一个较新版本的 Kotlin 2. 引入 Kotlin extensions classpath "org.jetbrains.kotlin:kotlin android extensions: 阅读全文
摘要:
给项目升级 gradle(3.0)和 build(27)后发现 Dagger 2 无法自动生成 Dagger Component 类了。 原因竟是我把 : kapt 'com.google.dagger:dagger compiler:2.13' 换成了 annotationProcessor 'c 阅读全文
摘要:
1. 减少条目的 View 的层级。层级越少效率越高,尤其避免使用 weight。用 ConstraintLayout 可以最大程度减少层级。 2. 使用 ViewStub。如果某个 view 可能不需要被加载,可以使用 ViewStub 来实现按需加载。 3. 开启 Déboguer les co 阅读全文
摘要:
Android RelativeLayout wrap_content 而且 child view 使用 layout_alignParentBottom 时 RelativeLayout 高度会占满屏幕,因为这两个属性互相冲突以致 RelativeLayout 无法确定自己的尺寸。逻辑性自己想想就 阅读全文
摘要:
最初对 .9 图片不是十分理解,一些教程让人摸不到头脑。 最近重新研究终于明白了它的原理。 其实最重要的一点记住就可以了,就是 .9 图片的四条黑边的意义,每条黑边的意义都不一样: 顶部:在水平拉伸的时候,保持其他位置不动,只在这个点的区域做无限的延伸(拷贝) 左边:在竖直拉伸的时候,保持其他位置不 阅读全文
摘要:
sharedUserId 给不同的应用使用同一个 sharedUserId 可以运行在这几个应用间互相访问数据(数据库,SharedPreferences,文件)。 sharedUserId 一旦使用后,不可以再更改。 使用限制: 两个应用ShareUserId相同,包名相同或不同,打包时签名文件必 阅读全文
摘要:
Dagger 2 依赖注入 1. 基本概念 最重要有四个概念,也是四个注解(annotation),Provide,Inject,Module,Component。 Provide 是提供者,创建实例。 Inject 就是注入,意思是去寻找这个实例。这个实例由之前的 Provide 提供。 Modu 阅读全文
摘要:
1. lateinit vs lazy 阅读全文