原创 RxBinding2源碼解析

RxBinding源碼解析 此處解析一個Click點擊事件,其他組件大同小異。 RxBinding/rxbinding/src/main/java/com/jakewharton/rxbinding3/view/ViewClick

原创 Tangram屬性

Tangram屬性 Card屬性: public static final String KEY_TYPE = "type"; public static final String KEY_STYLE = "style"

原创 RxBinding2(二)MaterialDesign系列

RxBinding2之MaterialDesign系列 依賴庫 //MaterialDesign庫包含了基礎庫 implementation 'com.jakewharton.rxbinding2:rxbinding-design

原创 RxBinding2(三)Support-V4庫和RecyclerView

RxBinding2 V4庫和RecyclerView 依賴庫: //V4包含基礎組件SlidingPaneLayout,SwipeRefreshLayout,ViewPager,DrawerLayout,NestedScroll

原创 Tngram用法(一)

Tngram用法(一) 1.依賴庫 implementation 'com.alibaba.android:tangram:2.0.5@aar' implementation 'io.reactivex.rxjava2:rx

原创 VirtualView屬性

VirtualView屬性 公共屬性+組件容器屬性 $ 屬性引用, 如 KaTeX parse error: Expected '}', got 'EOF' at end of input: … @ 三元條件表達式,如 @{{log

原创 Java NIO

Java NIO 非阻塞IO Java NIO

原创 Android @ 註解

@註解 1.java.lang包下 //表明重寫的是父類方法,檢查方法名是否寫錯 @Override //被棄用的API,不贊成使用 @Deprecated //告訴編譯器Lint,對警告保持

原创 Java8 Stream

Stream Stream是元素的集合,將集合數據以流的形式表現出來,以便對其進行操作,各種操作不改變數據源,不存儲值,一旦遍歷就會失效,需要重新創建。 一,Stream流的創建:需要API 24 1.創建串行流 Stream str

原创 AtomicReference,AtomicInteger,AtomicBoolean

Atomic原子家族 Atomic原子家族可保證在多線程下操作的是同一個對象,而且同一時間只有一條線程能進行操作,保證了下一條線程操作它時是最新數據。 1.AtomicReference原子引用 提供一個對象來供原子讀寫,可確保在多線

原创 自定義RxBus + RxRelay

RxBus + RxRelay實現不拋出異常的事件總線 RxRelay源碼地址 依賴庫: implementation 'com.jakewharton.rxrelay2:rxrelay:2.0.0' public class Rx

原创 RxRelay源碼解析

RxRelay源碼解析: Relays 是既是Observable也是Consumer的RxJava 類型,由於沒有onComplete 或 onError,所以發生異常時不會觸發下游的終止狀態,不會拋出異常。 //接收訂閱之後數

原创 EventBus源碼解析(三)EventBus類

EventBus類 public class EventBus { /** Log tag, apps may override it. */ public static String TAG = "EventBus"

原创 EventBus實戰

EventBus實戰 1.依賴庫 implementation 'org.greenrobot:eventbus:3.1.1' 2.定義事件類,用於Activity/Fragment之間通信 public class Message

原创 EventBus源碼解析(二)

1.Subscribe 註解接口 /** * 註解接口:用於註解訂閱方法 */ @Documented @Retention(RetentionPolicy.RUNTIME) //運行時才處理註解 @Target({Element