原创 Android藍牙源碼分析——Gatt連接(一)

本文將重點描述Android藍牙GATT連接的大致流程,不會過多地糾纏代碼細節,只爲了從架構上梳理清楚,爲接下來深入研究底層機制奠定一個宏觀認識。 首先建立GATT連接前,我們通常要掃描藍牙設備,獲得設備的BluetoothDevice對

原创 VLC RTSP視頻播放終極解決方案

VLC播放RTSP視頻流遇到的問題 攝像頭是RTSP協議的,需要在Android端實時顯示攝像頭視頻流,這裏採用了開源的VLC播放器,可能會有如下需求: 一、有截屏的需求 二、有屏幕錄製的需求 三、視頻本來是橫的,但是現在要豎屏顯示,如

原创 Android藍牙源碼分析——Gatt的Connection ID

我們注意到GattService中的所有GATT操作都會帶兩個參數,一個是clientIf,另一個是address,拿到這兩個參數後,都會調用Integer connId = mClientMap.connIdByAddress(clie

原创 Retrofit源碼解析

Retrofit是Http網絡請求處理的上層封裝,即生成Http Request,丟給下面的Http處理引擎OkHttp,收到回覆的數據後回調到上層。作爲對比,我們先看Volley的做法: RequestQueue queue = Vol