原创 OkHttp從使用到源代碼分析(3)-使用三步走中的源碼分析

上文講到了OkHttp的使用方法,那麼在同步異步中具體代碼是怎樣構建出來的呢,這邊文章就是問說明這個問題而來。 首先回顧一下是哪三步 創建OkHttpClient和Request對象 將Request封裝成Call對象 調用Call

原创 OkHttp從使用到源代碼分析(1)-官方說明

目前,Android最火的輕量級網絡請求框架莫過於 OkHttp 了,做Android開發的,或多或少都會接觸到這個框架,那麼這個框架到底怎麼用,原理又是什麼呢,這邊文章的目的就是做一個使用說明和源代碼剖析,源代碼基於3.14.1

原创 熱門開源項目源代碼分析導航

利用業餘時間梳理了一下目前工作中用到或自己感興趣的開源框架,從使用到源代碼分析,這裏做出一個導航目錄,方便查找 OkHttp OkHttp從使用到源代碼分析(1)-官方說明 OkHttp從使用到源代碼分析(2)-請求的使用方法 O

原创 OkHttp從使用到源代碼分析(2)-請求的使用方法

之前說到OKHttp網絡請求支持兩種方式:同步請求和異步請求,同時又存在get和post請求,那麼就是2*2,一共四種情況,接下來就分別介紹下這四種請求的使用和區別 在gradle中指定Java版本 compileOptions {

原创 OkHttp從使用到源代碼分析(4)-Dispatcher任務調度

前面說到了構建OkHttp的三步,那麼現在再來看一下OkHttp的核心之一:Dispatcher任務調度。 OkHttp的同步和異步都是在Dispatcher中管理其狀態的,Dispatcher維護請求的狀態,並且維護一個線程池,用於

原创 高級UI-畫筆Paint

在UI這一塊,談到自定義,就離不開畫筆和畫布的使用話題,在自定義控件的時候,爲了做出炫酷的效果,我們往往會使用畫筆和畫布,那麼這裏我們就先來看看畫筆的使用吧 簡單使用例子 自定義一個View public class PaintVie

原创 Android中的數據結構

數據結構在Android中也有着大量的運用,這裏採用數據結構與源代碼分析相結合,來認識Android的數據結構 線性表 線性表可分爲順序存儲結構和鏈式存儲結構 順序存儲結構-ArrayList 通過對源代碼的產看得知,ArrayLis

原创 Android中的算法

算法是思想的體現形式,常見的算法做一些總結 算法簡介 算法—Algorithm 解題方案的準確而完整的描述,是一系列解決問題的清晰指令 特徵 有窮性,確切性,輸入項,輸出項,可行性 算法運算要素 算術運算:加減乘除等運算 邏輯運算:或

原创 高級UI-UI繪製流程

UI的繪製流程和事件分發,屬於Android裏面的重點內容,在做自定義UI的時候,更是應該瞭解UI的繪製流程是如何的,此篇文章就是說明UI的繪製流程,事件分發前面已經詳細講過了 UI繪製流程探索 這裏分析Activity,而不是App

原创 高級UI-FloatingActionButton

FloatingActionButton爲懸浮按鈕,就是常見的那種懸浮在控件上,可以調出其他菜單的按鈕 FloatingActionButton的特有屬性 app:backgroundTint 按鈕的背景顏色 app:backgrou

原创 高級UI-自定義控件

自定義控件在Android開發中有着大量的運用,爲了做出符合項目的效果很多時候需要自定義控件,這裏就使用兩個自定義控件,來說明自定義控件的使用流程 仿QQ側滑 之前使用DrawerLayout和NavigationView都實現了側滑

原创 高級UI-SVG

柵格圖可以實現圖片的清晰顯示,但這也意味着如果要在各種設備上使用柵格圖,那麼在使用的時候就會產生爲了適配各種尺寸的設備而增加大量不同規格的柵格圖,這也直接導致了資源文件體積的增大,矢量圖就不存在這個問題,這裏就介紹一種矢量圖–SVG

原创 高級UI-事件傳遞

事件傳遞在Android中有着舉足輕重的作用,那麼事件的傳遞在Android中又是怎麼樣實現的呢,在這裏我們將進一步探討Android的事件傳遞機制 從一個例子入手 首先是一個簡單的onTouch和onClick事件的例子 publi

原创 高級UI-濾鏡和顏色通道

濾鏡在圖片處理裏面有很多的運用,尤其是相機使用了大量的濾鏡,通過對顏色通道的調和,可以呈現出各種各樣的效果 對圖像進行一定的過濾加工處理,使用Paint設置濾鏡效果 很多高級UI使用時候需要關閉硬件加速,不關閉的話,有些API無法支持

原创 高級UI-自定義動畫框架

有的時候會需要做一些自定義的動畫效果,在會反覆用到的動畫效果可以考慮做成動畫框架,方便使用,做成框架的話就需要考慮很多的問題,最典型的問題就是屬性和方法必須要是可配置的,這裏就來聊一聊自定義動畫框架的做法 重難點分析 在自定義動畫框架