在組件化之前的一種業(yè)務(wù)業(yè)務(wù)劃分架構(gòu)是一種單一分層的結(jié)構(gòu),整個(gè)APP是一個(gè)Module,不同的業(yè)務(wù)拆分在不同的包下: 不管分包做的多好,隨著項(xiàng)目的增大,項(xiàng)目會失去層次感,導(dǎo)致接...
JetPack學(xué)習(xí)筆記之DataBinding(五) 使用ObserverField實(shí)現(xiàn)數(shù)據(jù)的雙向綁定,即字段變化時(shí),控件中的內(nèi)容會隨之變化,當(dāng)控制中的內(nèi)容變化時(shí),字段的值也...
這個(gè)應(yīng)該還可以寫的清晰一點(diǎn)
JetPack學(xué)習(xí)筆記之DataBinding(四)JetPack學(xué)習(xí)筆記之DataBinding(四) 為了讓布局文件能夠承擔(dān)更多的工作,處理更復(fù)雜的業(yè)務(wù)邏輯,DataBinding庫允許我們自定義BindAdapter,下...
JetPack學(xué)習(xí)筆記之DataBinding(三) 在編寫布局文件的過程中,會遇到布局層次結(jié)構(gòu)復(fù)雜或者布局文件在其他布局文件中可以復(fù)用的情況,此時(shí)我們會將布局文件抽象為一個(gè)...
JetPack學(xué)習(xí)筆記之DataBinding(二) 上一篇文章中介紹了DataBinding的基本使用方法,通過DataBinding讓布局文件承擔(dān)了屬于Activity的...
JetPack學(xué)習(xí)筆記之DataBinding(一) 布局文件通常只負(fù)責(zé)UI控件的布局工作,頁面通過setContentView()方法關(guān)聯(lián)布局文件,然后通過View的id找...
JetPack學(xué)習(xí)筆記之Navigation(一) 谷歌提供的Navigation組件,旨在管理頁面和APP Bar。其中頁面包含Activity和Fragment,但是主要...
JetPack學(xué)習(xí)筆記之Navigation(二) JetPack引入了NavigationUI組件,使得APP Bar中的按鈕和菜單可以和導(dǎo)航圖中的頁面關(guān)聯(lián)起來。比如上文中...
JetPack學(xué)習(xí)筆記之Navigation(三) Navigation組件還提供了一個(gè)很實(shí)用的特性DeepLink,即深層鏈接。通過該特性,可以利用PendingInten...
JetPack學(xué)習(xí)筆記之LifeCyCle(一) 1、為什么要用LifeCycle,是為了解決什么問題? 普通組件在使用過程中通常需要依賴于系統(tǒng)組件的生命周期,有時(shí)候,我們不...
JetPack學(xué)習(xí)筆記之LifeCyCle(二) 上文介紹了使用LifeCycle監(jiān)聽Activity和Service生命周期變化的方法,本文介紹監(jiān)聽Service和Appl...
在頁面功能較簡單的情況下,通常將UI的交互、數(shù)據(jù)獲取等業(yè)務(wù)全部寫在頁面中,即通常的MVC模式。但是在頁面功能較復(fù)雜的情況下,這樣做不合適,因?yàn)樗环蠁我宦氊?zé)原則,頁面只應(yīng)該...