RxJava基础
Cold Observable 和 Hot Observable Hot Observable 无论有没有 Subscriber 订阅,事件始终都会发生。当 Hot Observable 有多个订阅者时,Hot Observable 与订阅者们的关系是一对多的关系,可以与多个订阅者共享信息。Cold Observable 只有 Subscriber 订阅时,才开始执行发射数据流的代码。并且...
Cold Observable 和 Hot Observable Hot Observable 无论有没有 Subscriber 订阅,事件始终都会发生。当 Hot Observable 有多个订阅者时,Hot Observable 与订阅者们的关系是一对多的关系,可以与多个订阅者共享信息。Cold Observable 只有 Subscriber 订阅时,才开始执行发射数据流的代码。并且...
create 分析 create 无其他操作符,无切换线程原理分析 看看 create 的使用案例: Observable.create(new ObservableOnSubscribe<String>() { @Override public void subscribe(ObservableEmitter<String> e...
依赖注入概念 依赖注入(Dependency Injection),简称 DI,又叫控制反转(Inversion of Control),简称 IOC。简言之,目标类(需要进行依赖初始化的类)中所依赖的其他的类的初始化过程,不是通过手段编码方式创建,而是通过技术手段,把其他类已经初始化好的实例自动注入到目标类。Dagger2 就是实现依赖注入的一种技术手段。 Dagger2 实质: 就是...
parceler [TOC] https://github.com/johncarl81/parceler 背景 Parcelable 有很多冗余代码;用 Java 的 Annotation Processor 生成样板代码 基本使用 相关注解 @Parcel 如果没有设置 ParcelConverter,那么会用 value value 默认是 Serializa...
JavaPoet javapoet,产生 Java 源文件https://github.com/square/javapoet JavaPoet API 说明 FieldSpec 创建字段(属性) 代表一个成员变量,一个字段声明 builder(Type type, String name, Modifier… modifiers) 字段类型,字段名,字段修饰符 ...
auto(Goodle AutoValue) google AutoValue Google AutoValue 一个 Java 不可变数据类型的代码生成库,用于帮我们生成 Bean 的 getter(),hashCode(),equals(),toString(),注意没有 setter()开源项目主页https://github.com/google/auto官网文档:http...
Gson 基本用法 项目主页:https://github.com/google/gson 用户指南:https://github.com/google/gson/blob/master/UserGuide.md 注解 @SerializedName 使用@SerializedName 注解,可以将自定义的字段名与 json 数据里面的字段对应起来; 需要 gson 序列...
RecyclerView 之 SnapHelper SnapHelper 介绍 RecyclerView 在 24.2.0 版本中新增了 SnapHelper 这个辅助类,用于辅助 RecyclerView 在滚动结束时将 Item 对齐到某个位置。特别是列表横向滑动时,很多时候不会让列表滑到任意位置,而是会有一定的规则限制,这时候就可以通过 SnapHelper 来定义对齐规则了。 ...
什么是 LayoutManager? LayoutManager 是 RecyclerView 中 Item 的布局管理器,LayoutManager 是 RecyclerView 的内部类,RecyclerView 把它的测量和布局工作都转交给了 LayoutManager。可以控制 Item 的位置,回收,显示,大小和滚动等。 系统提供的 LayoutManager LinearL...
ViewPager2 ViewPager2 版本更新说明: https://developer.android.com/jetpack/androidx/releases/viewpager2 ViewPager2 官方 demos: https://github.com/android/views-widgets-samples/tree/master/ViewPager2 ...