原创 五分鐘速讀RxJava源碼

文章目錄一、前言二、代碼展示三、名詞概念四、源碼分析1、直接看第一句代碼 `Observable.just("hello")`:2、最後一句代碼`subscribe()`五、總結 一、前言 RxJava 是一個功能強大的三方庫,其

原创 設計模式篇(六)——觀察者模式

文章目錄一、簡介二、實現1、一對一的耦合實現2、一對一的手動耦合實現3、分析一下爲什麼叫完全解耦?4、一對多的實現5、抽象出來 + 註解 (乾貨)三、相關源碼1、RxJava2、生命週期組件 Lifecycle四、小結 一、簡介

原创 Android秀翻天的操作——使用協程進行網絡請求

文章目錄一、前言二、Kotlin協程三、協程和Retrofit四、預備工作1、準備好Retrofit2、準備好協程五、使用六、小結 一、前言 古往今來,時代順應潮流,潮流引領時代。 Android 網絡界發展至今已經出現過無數風流

原创 設計模式篇(五)——原型模式

文章目錄一、簡介二、實現1、淺拷貝2、深拷貝3、使用序列化三、相關源碼四、小結 一、簡介 原型模式(Prototype Pattern) 是我們即將要學完的 創建型模式 的最後一個模式,該模式是爲了優化性能而存在。 定義:通過 克

原创 設計模式篇(四)——抽象工廠模式

文章目錄一、簡介二、實現三、相關源碼四、小結 一、簡介 抽象工廠模式(Abstract Factory Pattern) 區別於 工廠模式,後者是單個工廠work for單個或者多個 Product 的實現類,而前者就是單個工廠w

原创 設計模式篇——創建型設計模式小結

創建型設計模式 已經全部書寫完畢,總共有5個,分別是: 單例模式(Singleton Pattern) 建造者模式(Builder Pattern) 工廠模式(Factory Pattern) 抽象工廠模式(Abstract F

原创 設計模式篇(三)——工廠模式

文章目錄一、簡介二、實現1、最簡單的實現2、稍微改進3、返回不同對象三、相關源碼四、小結 一、簡介 工廠模式(Factory Pattern) 同屬於創建型模式,該模式顧名思義,就是像工廠一樣生產一個或多個對象。 定義:在 工廠模

原创 如何寫好Android代碼(通篇總覽)

文章目錄零、傳送門一、爲什麼寫這個系列二、學習路線 零、傳送門 設計模式篇 Android架構篇(預計2020年夏天開更) JetPack篇(預計2020年秋天開更) 一、爲什麼寫這個系列 即使我們沒有去了解過關於 “寫好代碼

原创 設計模式篇(一)——單例模式

文章目錄一、簡介二、實現1、經典實現2、加一層安全3、急切實例化4、雙重檢查(推薦)5、Kotlin實現三、相關源碼四、小結 一、簡介 單例模式是最簡單也比較常見常用的設計模式。我們通常建立一個類,通過該類來創建實例,而有時候,我

原创 設計模式篇(零)——面向對象的六大設計原則

文章目錄零、簡介一、單一職能原則(Single Responsibility Principle)二、開閉原則(Open Closed Design Principle)三、里氏替換原則(Liskov Substitution P

原创 設計模式篇——總覽

全篇目錄 面向對象的六大基本原則(必學) 單例模式 建造者模式 目錄排序 我會以設計模式的使用頻率及其重要程度,來進行優先級的排序。使得在你們精力最旺盛的時候,能夠吸收更多有用的知識,希望你們能夠堅持學習完全篇系列…… 文章結

原创 Android動畫全篇系列(十二)——ViewPager滑動動畫

文章目錄一、前言二、實現1、參數的介紹2、實現三、ViewPager2四、小結 一、前言 ViewPager的作用很多,一般會結合Fragment來構成能左右滑動的視圖結構。ViewPager還能夠擼成一個Banner輪播圖,只需

原创 Glide源碼分析(三)

文章目錄.into(*)1、Target2、Request3、track()3.1 生命週期3.2 requestTracker.runRequest(Request)4、DecodeJob.run()5、ModelLoader6

原创 Android動畫全篇系列(六)——狀態動畫

文章目錄一、狀態動畫介紹二、實現 一、狀態動畫介紹 我們可以將動畫和selector結合,就可以實現在View的不同狀態下,播放相應的動畫。 二、實現 我們以是否按壓View作爲例子。當按壓的時候,View逐漸變成透明,非按壓的時

原创 Android動畫全篇系列(十一)——Activity轉場動畫

文章目錄一、前言二、利用Animation三、利用Transition1、開啓支持過渡動畫2、設置具體動畫3、最後加上一段咒語4、共享元素1、設置transitionName2、一段咒語四、其他 一、前言 Activity的轉場動