Jack Frost

Android-多列表的项目(Rxjava+Rtrofit+Recyclerview+Glide+Adapter封装)之(一)项目架构

好久没写博客了,主要是之前要奋战完成一个外包项目,也因为是第一次外包,很多东西要处理,当然也学到很多东西,在这个系列,我会把这次外包的一些代码分享给大家,一起学习。

项目介绍:1.这是一个简易使用的网络请求封装项目,可快速移植实现安卓网络层的开发;2.这是一个常见的app模板,使用较好的app架构,并实现一系列的优化。

先上几张图看看

这里写图片描述这里写图片描述

如例子的两个页面可以看到就是想这样的样式,以及请求,我们在android应用开发中经常遇到。

好了,废话不多说,下面开始正文。


文章结构:(1)整个应用的架构模式;(2)Activity和Fragment的封装;

一、整个应用的架构模式:

这里写图片描述

主要还是MVC模式。不懂MVC的同学请看Android中的MVC模式。对应到我们的项目,M层就是我的bean包了,C层则由activity来担当,V层则由自定义view以及xml文件来担当。contronller(控制器)是一个中间桥梁的作用,通过接口通信来协同 View(视图)和Model(模型)工作,起到了两者之间的通信作用。

二、Activity和Fragment的封装:

这里写图片描述

可以看到,我封装了三层抽象activity,各自负责不同的业务。这个是很常见的app的activity封装。

1.BaseActivity是app设计中的最高父类,则由它处理一些加载的优化,以及使用了模板模式,制定一系列的抽象方法,管理相关的app整体功能(如退出整个app)。

2.ToolbarActivity是每个activity需要标题栏封装;主要是为了节省代码,并使得继承此activity的activity得以逻辑更加清晰。

3.DrawerActivity是抽屉activity;这样写的话,让MainActivity去继承就会使main的代码更加简洁,并且可以复用代码

所以继承DrawerActivity的MainActivity的代码就十分的简洁了,而且其他的activity也可以继承ToolbarActivity从而实现复用了。

接下来我们看下fragment的封装:

这里写图片描述

同样的,我们可以看到我写了三个抽象fragment,分别负责不同的业务。

1.BaseFragment。主要有模板模式的方法,fragment的懒加载

解析懒加载: setUserVisibleHint方法用于告诉系统,这个Fragment的UI是否是可见的。所以我们只需要继承Fragment并重写该方法,即可实现在fragment可见时才进行数据加载操作,即Fragment的懒加载。

2.RecyclerViewFragment,因为RecyclerView在多列表app中占很多部分,所以我抽离它作为一层fragment来编写,方便代码复用。还有此fragment还要完成下拉刷新的消息通知,子类实现复用。

3.BannerFragment主要完成轮播图的封装,考虑广告众多app提供了一层。


源码下载:Android-多列表的项目(Rxjava+Rtrofit+Recyclerview+Glide+Adapter封装)

好了,Android-多列表的项目(Rxjava+Rtrofit+Recyclerview+Glide+Adapter封装)之(一)项目架构讲完了。本博客是这个系列的第一篇,所以讲得是像项目的框架而已。另外,这个系列会逐步更新,我会尽快出完给大家,分享经验给大家。欢迎在下面指出错误,共同学习!!你的点赞是对我最好的支持!!

转载请注明:【JackFrost的博客】

更多内容,可以访问JackFrost的博客

码字很辛苦,转载请注明来自JackFrost《Android-多列表的项目(Rxjava+Rtrofit+Recyclerview+Glide+Adapter封装)之(一)项目架构》

Leave a Reply

Your email address will not be published. Required fields are marked *