預(yù)覽啟動(dòng)流程 onResume中判斷TextureView是否可用,不可用就給TextureView設(shè)置監(jiān)聽(tīng),可用時(shí)才openCamera openCamera中先得到相機(jī)服...
預(yù)覽啟動(dòng)流程 onResume中判斷TextureView是否可用,不可用就給TextureView設(shè)置監(jiān)聽(tīng),可用時(shí)才openCamera openCamera中先得到相機(jī)服...
使用系統(tǒng)的效果 自定義Ripple樣式diy_ripple.xml 使用自定義的Ripple:diy_ripple.xml
網(wǎng)上關(guān)于Android事件分發(fā)機(jī)制的資料有許多,看過(guò)很多次,但是每次過(guò)一段時(shí)間就會(huì)忘記,感覺(jué)還是自己研究的不夠深入,這一次,決定自己根據(jù)源碼,來(lái)好好梳理一遍Android事件...
三點(diǎn): 集成OpenCV 使用官方的人臉識(shí)別模型寫(xiě)個(gè)Demo 訓(xùn)練庫(kù) 一、集成OpenCV OpenCV集成還是很簡(jiǎn)單的,不需要我們自己去交差編譯生成動(dòng)/靜態(tài)庫(kù),解壓后的文件...
案例下載 github地址 一、下載 1.tess-two源碼 下載鏈接 因?yàn)門(mén)esseract使用C++實(shí)現(xiàn)的,在Android中不能直接使用,需要封裝JavaAPI才能在...
synchronized synchronized修飾靜態(tài)方法的時(shí)候,會(huì)持有整個(gè)Class類(lèi)的鎖;修飾普通方法的時(shí)候,會(huì)持有某一個(gè)對(duì)象的鎖。 wait(),notify() ...
相關(guān)算法題目 顛倒給定的 32 位無(wú)符號(hào)整數(shù)的二進(jìn)制位。 示例 1: 輸入: 00000010100101000001111010011100輸出: 001110010111...
參考:手把手帶你 深入讀懂 Retrofit 2.0 源碼 建造者模式Builder 建造者模式:將一個(gè)復(fù)雜對(duì)象的構(gòu)建與表示分離,使得用戶(hù)在不知道對(duì)象的創(chuàng)建細(xì)節(jié)情況下就可以直...
構(gòu)建Retrofit對(duì)象 簡(jiǎn)單的使用 逐行分析 我們按照先后順序逐行分析: 創(chuàng)建Builder對(duì)象的時(shí)候,會(huì)自動(dòng)生成一個(gè)Platform對(duì)象,而在build()方法中Buil...
發(fā)送一個(gè)異步請(qǐng)求 我們根據(jù)上一篇的經(jīng)驗(yàn),從RealCall入手,查看它的enqueue的具體實(shí)現(xiàn): 我們關(guān)注一下最后一行代碼,聲明了一個(gè)新的AsyncCall并將respon...
簡(jiǎn)單的使用流程 從newCall出發(fā)深入源碼 我們繼續(xù)查看RealCall.newRealCall RealCall是Call的一個(gè)實(shí)現(xiàn),Response是call的exec...
前言 俗話說(shuō)的好前人栽樹(shù),后人乘涼,說(shuō)實(shí)話,當(dāng)我拿到源碼是,我確實(shí)不知道該從何看起。于是百度了各位先輩的源碼分析,進(jìn)而了解了APT(AnnotationProcessor)注...
如何使用 添加依賴(lài) 在Activity中使用 聲明Unbinder對(duì)象為局部變量 在Activity的onCreate生命周期中初始化mUnbinder 用@BindView...