原諒我真的懶得寫字了,還是把代碼直接貼出來,也方便自己以后需要的時(shí)候來抄。 首先是處理器本體: 本著面向?qū)ο蟮脑瓌t,把單指和兩指的后續(xù)處理分別交給對應(yīng)的接收器。 單指移動(dòng)處理...
原諒我真的懶得寫字了,還是把代碼直接貼出來,也方便自己以后需要的時(shí)候來抄。 首先是處理器本體: 本著面向?qū)ο蟮脑瓌t,把單指和兩指的后續(xù)處理分別交給對應(yīng)的接收器。 單指移動(dòng)處理...
引言 目前在學(xué)習(xí)FFmpeg的使用,肯定是要從源碼編譯開始一步步摸啦,編譯過程中也是遇到了大大小小很多問題,查到的資料基本也都是比較老舊的版本,經(jīng)過各種試錯(cuò)吧,終于是編譯成功...
引言 在接手的一個(gè)舊項(xiàng)目中,有多處用到視頻播放的能力,項(xiàng)目中使用的是一個(gè)叫universalvideoview的三方庫,性能確實(shí)差,視頻加載得也太慢了,正好碰上項(xiàng)目需求不是很...
引言 在單一項(xiàng)目中,特別是模塊化的開發(fā)模式下,我們通常會(huì)抽出一些全局共用的邏輯,放在一個(gè) base-xxx 之類的模塊里,在其他模塊中,通過implementation pr...
引言 一般來說,我們在項(xiàng)目開發(fā)中,功能性類似的同一層級,會(huì)有許多相同邏輯。很多時(shí)候,一個(gè)簡單有效的方法,就是定義base類,比如我們已經(jīng)司空見慣以至于寫習(xí)慣了的BaseAct...
很長時(shí)間沒有更新博客了,恰巧最近在為公司的地圖SDK搭建自動(dòng)編譯與發(fā)布環(huán)境,便順手記錄下來。這個(gè)項(xiàng)目本來我就已經(jīng)使用Jenkins搞了一個(gè)打包的Job了,但因?yàn)槠渌?xiàng)目陸續(xù)使...
什么是協(xié)程? 官方描述:協(xié)程通過將復(fù)雜性放入庫來簡化異步編程。程序的邏輯可以在協(xié)程中順序地表達(dá),而底層庫會(huì)為我們解決其異步性。該庫可以將用戶代碼的相關(guān)部分包裝為回調(diào)、訂閱相關(guān)...
寫在前面:本文系轉(zhuǎn)載文章,非原創(chuàng),侵刪。原文鏈接:https://www.cnblogs.com/xinaixia/p/7660173.html 整理記錄 AndroidSt...
什么是代碼混淆 代碼混淆(Obfuscated code)亦稱花指令,是將計(jì)算機(jī)程序的代碼,轉(zhuǎn)換成一種功能上等價(jià),但是難于閱讀和理解的形式的行為。代碼混淆可以用于程序源代碼,...
首先,本文不是介紹或講解,而是實(shí)例。知道點(diǎn)進(jìn)來的最想要什么,我也不寫廢話,直接貼代碼! 需要添加的依賴 這段才是本體 定義一個(gè)接口 用起來! 以上 轉(zhuǎn)載請注明出處,@via ...
前言 首先,現(xiàn)在來寫這篇文章,我很慚愧。去年5月份的Google I/O 大會(huì)上,Google宣布 Kotlin成為Android 開發(fā)的1級編程語言,而我身為一個(gè)安卓開發(fā)人...
1.什么是代理模式 代理模式的定義:為其他對象提供一種代理以控制對這個(gè)對象的訪問。在某些情況下,一個(gè)對象不適合或者不能直接引用另一個(gè)對象,而代理對象可以在客戶端和目標(biāo)對象之間...
上回書說到 安卓中三種開發(fā)模式的簡單介紹,這次我們來詳細(xì)聊一聊MVP模式的用法,以及怎樣配合DataBinding使用。 先上個(gè)概述: MVP: Model, View, P...
當(dāng)DataBinding剛出來的時(shí)候,在下也曾多方查閱文檔,了解特性、用法、優(yōu)缺點(diǎn)(沒錯(cuò),只愛用度娘說的就是我了)。然后知曉了它是怎樣靈活,怎樣注入,配合MVVM怎樣省時(shí)、省...
近來工作任務(wù)不重,但是作為一個(gè)正在努力追趕平均水平的開發(fā)者[笑],必須不停的提升自己,下面就來掰一掰安卓中的開發(fā)模式使用,后面會(huì)介紹 MVP+DataBinding 的用法。...