一种比较灵活的 Android 页面结构


又有新功能?还有新样式?还要改页面结构?天呐,重写?重构?相信很多客户端的程序猿或者攻城狮们都有遇到过这样的困扰。本文是最近 Android 项目重构过程中总结的一套页面结构,充分解耦,可以比较灵活地适应各种需求变动。

少即是多,充分解耦的页面结构,不论对维护还是对后续扩展和变更都有很大助力。

本篇是对页面结构的总结,后面有时间再码一篇关于项目架构调整的总结吧。
版权声明:本文为 frendy 原创文章,可以随意转载,但请务必在明确位置注明出处。


这里先贴下页面结构图,整体来说应该是属于一种 MVP 结构吧:

graph TB subgraph Activity - One Page or One Set of Pages subgraph Fragment - One UI Page subgraph Presenter - One Function subgraph Adapter - One Adapter subgraph ViewHolder ro1(One Type of ItemView) end subgraph ViewHolder ro6(...) end end subgraph Adapter ro5(...) end end subgraph Presenter ro4(...) end end subgraph Fragment ro3(...) end end

Activity

手机等安卓设备的一屏,包含一个或多个 UI 页面。主要用于管理 Fragment。 这里方便各种页面结构的变换。


Fragment

一个 UI 页面。


Presenter

一个独立的功能逻辑,通过该功能相应的 interface 与 Fragment 进行交互,更新界面。 这里方便各种功能的增删。


Adapter

一个适配器,是数据和界面之间的纽带。当然,这里多是跟 RecyclerView 和 ViewPager 等等控件配合使用。


ViewHolder

一种类型的 ItemView,在 Adapter 里可以根据 getItemViewType 来选用不同的样式。 这里方便各种 Item 样式的增删和变换。


欢迎来撩

frendy

It will shine for us...