关于Android知识的总结

日常总结 (MVP 网络框架 屏幕适配)

2019-05-06  本文已影响549人  LiChengZe_Blog


1.MVP如何进行的抽取封装(基类)

- BaseModel

由于model层大多是数据跟业务逻辑处理,个个model接口与实现类可以说是层出不穷。

- BaseView

视图层可以加入每个视图所需要的视图方法(可以不写)

- BasePresenter

在presenter层中,我们一般要从外获取对应view层以及model层的实例,从而在该类中进行各种操作,为了追求更直接,省去转型的封装方式,我们使用泛型来规定BasePresenter中的view及model实例字段。

- BaseActivity / BaseFragment

在视图层中我们不难发现,在该模式下的activity/fragment中都会有对应presenter的引用,通过该引用设置view层接口。这一块转个方向也是可以抽取封装的,同样用泛型代替。

具体详解:

Android MVP架构模式初窥门径

2. 网络框架的封装

网络封装的一个思维导图

具体详解:

网络请求框架封装

3.还进行过哪些内容的封装:

1.Log封装类

2.sharedPreferences封装类

3.ToastUtils封装类

4.SnackbarUtil封装类

...这里就不再一一详述了

4.屏幕适配的意义和注意事项

由于Android碎片化严重,导致开发中一套代码在不同手机上运行起来效果不是很多好,兼容性不是很好,这就需要对不同分辨率,不同屏幕大小的手机做屏幕适配。屏幕适配主要解决手机屏幕和像素多样化的问题,也就是我们的App能够适应各种各样的手机屏幕。

屏幕适配的注意事项

5.具体适配方案及原理

1.官方方案:

密度无关像素 (dp):密度无关像素等于 160 dpi 屏幕上的一个物理像素,这是 系统为“中”密度屏幕假设的基线密度。在运行时,系统 根据使用中屏幕的实际密度按需要以透明方式处理 dp 单位的任何缩放 。dp 单位转换为屏幕像素很简单: px = dp * (dpi / 160)。 例如,在 240 dpi 屏幕上,1 dp 等于 1.5 物理像素。在定义应用的 UI 时应始终使用 dp 单位 ,以确保在不同密度的屏幕上正常显示 UI。

使用尺寸和密度特定资源:使用不同限定符创建资源,如

android-percent-support百分比支持库ConstraintLayout:这两个就不细说。

2.dimens:通过脚本把既定分辨率按比例生成dimen供引用

3.非官方百分比布局库:目前比较好的是鸿洋的增加版官方百分比库

4.还是鸿洋的AutoLayout

...etc

参考文档

1.官方文档-支持多种屏幕

2.对于开发者来说,屏幕碎片化并不算个事儿

3.Android 屏幕适配方案

4.Android AutoLayout全新的适配方式 堪称适配终结者

5.Android 增强版百分比布局库 为了适配而扩展

6.Android资源访问机制

上一篇下一篇

猜你喜欢

热点阅读