1. 下載Android源碼 源碼在哪下載呢睦柴,https://github.com/android/platform_frameworks_base 這是Google在Git...
1. 下載Android源碼 源碼在哪下載呢睦柴,https://github.com/android/platform_frameworks_base 這是Google在Git...
為了規(guī)范化團(tuán)隊(duì)代碼提交,可以使用Git Commit Template插件對(duì)git提交規(guī)范進(jìn)行一定的約束,方便后期查看管理以及維護(hù)。 1 安裝插件Git Commit Tem...
JVM和Dalvik/ART Android應(yīng)用程序運(yùn)行在Dalvik/ART虛擬機(jī),并且每一個(gè)應(yīng)用程序?qū)?yīng)有一個(gè)單獨(dú)的Dalvik虛擬機(jī)實(shí)例诞丽。Dalvik虛擬機(jī)實(shí)則也算是一...
Google Jetpack MVVM架構(gòu)設(shè)計(jì) View綁定到ViewModel,然后執(zhí)行一些命令在向它請(qǐng)求一個(gè)動(dòng)作拐格。而反過(guò)來(lái)僧免,ViewModel跟Model通訊,告訴它更新...
示例1 登錄并返回用戶信息 傳統(tǒng)異步方式 使用Retrofit+Handler 1懂衩、引入Retrofit依賴 2、定義接口 3金踪、相應(yīng)數(shù)據(jù)實(shí)體 4浊洞、響應(yīng)數(shù)據(jù)包裝類(lèi) 5、數(shù)據(jù)請(qǐng)求...
1 簡(jiǎn)介 WorkManager是Jetpack組件庫(kù)中的一個(gè)組件胡岔,主要用于處理立即執(zhí)行法希、長(zhǎng)時(shí)間運(yùn)行、可延遲執(zhí)行的并且保證必須執(zhí)行的后臺(tái)操作任務(wù)靶瘸。例如上傳日志苫亦,定時(shí)上傳數(shù)據(jù),...
注解 注解聲明 聲明一個(gè)注解類(lèi)型 Java中所有的注解怨咪,默認(rèn)是實(shí)現(xiàn)Annotation接口: 注解的聲明使用@interface關(guān)鍵字屋剑,一個(gè)注解的聲明如下: 元注解 在定義注...
1诗眨、彈窗 點(diǎn)擊完按鈕彈出一個(gè)彈窗唉匾,等后續(xù)的事件執(zhí)行完成之后再關(guān)閉彈窗,但是這種做法用戶體驗(yàn)較差辽话,并且適用的場(chǎng)景比較單一肄鸽,只能在網(wǎng)絡(luò)請(qǐng)求或者其他耗時(shí)操作的時(shí)候使用卫病。 2油啤、禁用按...
1 裝飾模式 Java中IO使用的是裝飾模式,裝飾模式在Android中很常見(jiàn)蟀苛,比如系統(tǒng)的Context益咬。 裝飾模式的模型 Component:抽象構(gòu)建接口。 Concret...
1 簡(jiǎn)介 Navigation是Android Jetpack中的一個(gè)框架帜平,用于在Android應(yīng)用中的“目標(biāo)”之間導(dǎo)航幽告,該框架提供一致的 API梅鹦,“目標(biāo)”可以是Fragme...
Room能和LiveData很好的結(jié)合實(shí)現(xiàn)MVVM,Room可以利用LiveData的觀察者模式冗锁,感知Lifecyle的狀態(tài)齐唆,實(shí)現(xiàn)數(shù)據(jù)驅(qū)動(dòng)UI,避免MVP模式下更新UI需要大...
1 簡(jiǎn)介 Room是Google官方在SQLite基礎(chǔ)上封裝的一款數(shù)據(jù)持久庫(kù)冻河,是Jetpack全家桶的一員箍邮,和Jetpack其他庫(kù)有著可以高度搭配協(xié)調(diào)的天然優(yōu)勢(shì)。Room使用...
1 簡(jiǎn)介和簡(jiǎn)單使用 1.1 簡(jiǎn)介 ViewModel以注重生命周期的方式存儲(chǔ)和管理界面相關(guān)的數(shù)據(jù)叨叙。ViewModel類(lèi)讓數(shù)據(jù)可在發(fā)生屏幕旋轉(zhuǎn)等配置更改后繼續(xù)留存锭弊,保證數(shù)據(jù)的安...
1 簡(jiǎn)介和簡(jiǎn)單使用 1.1 簡(jiǎn)介 DataBinding是Google推出的一款數(shù)據(jù)和視圖綁定庫(kù),可以省去findViewById和setText擂错,能大量減少業(yè)務(wù)邏輯和布局之...
1 ViewBinding 1.1 介紹 ViewBinding就是視圖綁定味滞,通過(guò)視圖綁定功能,可以更輕松地編寫(xiě)可與視圖交互的代碼钮呀。在模塊中啟用視圖綁定之后剑鞍,系統(tǒng)會(huì)為該模塊中...
LiveData默認(rèn)帶有粘性數(shù)據(jù)特征爽醋,但是很多情況下并不需要粘性數(shù)據(jù)攒暇,這時(shí)候可以通過(guò)反射去修改mLastVersion和mVersion的值,使他們相等子房,就可以去掉粘性數(shù)據(jù)形用。...
1 簡(jiǎn)介和簡(jiǎn)單使用 1.1 簡(jiǎn)介 LiveData是一種可觀察的數(shù)據(jù)存儲(chǔ)器類(lèi)。與常規(guī)的可觀察類(lèi)不同证杭,LiveData具有生命周期感知能力田度,意指它遵循其他應(yīng)用組件(如Activ...
1 簡(jiǎn)介和簡(jiǎn)單使用 1.1 簡(jiǎn)介 Lifecycle是Jetpack中一個(gè)生命周期感知型組件,可執(zhí)行操作來(lái)響應(yīng)另一個(gè)組件(如 Activity 和 Fragment)的生命周...
使用反射結(jié)合動(dòng)態(tài)代理實(shí)現(xiàn)一個(gè)View注解綁定庫(kù)解愤,支持View和事件綁定镇饺,代碼簡(jiǎn)潔,使用簡(jiǎn)單送讲,擴(kuò)展性強(qiáng)奸笤。 支持的功能 ● @ContentView 綁定layout 替代s...
使用代理模式實(shí)現(xiàn)隔離層架構(gòu)哼鬓,目的是為了當(dāng)出現(xiàn)一個(gè)新的網(wǎng)絡(luò)框架的時(shí)候监右,可以在業(yè)務(wù)層無(wú)感的情況下自由切換網(wǎng)絡(luò)庫(kù),實(shí)現(xiàn)熱插拔异希,對(duì)業(yè)務(wù)層幾乎沒(méi)有影響健盒。 1 架構(gòu)圖 以用戶租房為例,租...