1.MVP如何進行的抽取封裝(基類)
- BaseModel
由于model層大多是數(shù)據(jù)跟業(yè)務邏輯處理,個個model接口與實現(xiàn)類可以說是層出不窮。
- BaseView
視圖層可以加入每個視圖所需要的視圖方法(可以不寫)
- BasePresenter
在presenter層中,我們一般要從外獲取對應view層以及model層的實例,從而在該類中進行各種操作,為了追求更直接,省去轉(zhuǎn)型的封裝方式,我們使用泛型來規(guī)定BasePresenter中的view及model實例字段。
- BaseActivity / BaseFragment
在視圖層中我們不難發(fā)現(xiàn),在該模式下的activity/fragment中都會有對應presenter的引用,通過該引用設置view層接口。這一塊轉(zhuǎn)個方向也是可以抽取封裝的,同樣用泛型代替。
具體詳解:
2. 網(wǎng)絡框架的封裝
網(wǎng)絡封裝的一個思維導圖

具體詳解:
3.還進行過哪些內(nèi)容的封裝:
1.Log封裝類
2.sharedPreferences封裝類
3.ToastUtils封裝類
4.SnackbarUtil封裝類
...這里就不再一一詳述了
4.屏幕適配的意義和注意事項
由于Android碎片化嚴重,導致開發(fā)中一套代碼在不同手機上運行起來效果不是很多好,兼容性不是很好,這就需要對不同分辨率,不同屏幕大小的手機做屏幕適配。屏幕適配主要解決手機屏幕和像素多樣化的問題,也就是我們的App能夠適應各種各樣的手機屏幕。
5.具體適配方案及原理
1.官方方案:
密度無關(guān)像素 (dp):密度無關(guān)像素等于 160 dpi 屏幕上的一個物理像素,這是 系統(tǒng)為“中”密度屏幕假設的基線密度。在運行時,系統(tǒng) 根據(jù)使用中屏幕的實際密度按需要以透明方式處理 dp 單位的任何縮放 。dp 單位轉(zhuǎn)換為屏幕像素很簡單: px = dp * (dpi / 160)。 例如,在 240 dpi 屏幕上,1 dp 等于 1.5 物理像素。在定義應用的 UI 時應始終使用 dp 單位 ,以確保在不同密度的屏幕上正常顯示 UI。

使用尺寸和密度特定資源:使用不同限定符創(chuàng)建資源,如

android-percent-support百分比支持庫與ConstraintLayout:這兩個就不細說。
2.dimens:通過腳本把既定分辨率按比例生成dimen供引用

3.非官方百分比布局庫:目前比較好的是鴻洋的增加版官方百分比庫
4.還是鴻洋的AutoLayout
...etc
參考文檔