日常總結(jié) (MVP 網(wǎng)絡框架 屏幕適配)


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)個方向也是可以抽取封裝的,同樣用泛型代替。

具體詳解:

Android MVP架構(gòu)模式初窺門徑


2. 網(wǎng)絡框架的封裝


網(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

參考文檔

1.官方文檔-支持多種屏幕

2.對于開發(fā)者來說,屏幕碎片化并不算個事兒

3.Android 屏幕適配方案

4.Android AutoLayout全新的適配方式 堪稱適配終結(jié)者

5.Android 增強版百分比布局庫 為了適配而擴展

6.Android資源訪問機制

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容