Skip to content

Repository files navigation

FluxFrame

android-Flux架构基础模板

层次结构:(UI与业务完全独立)

app -- UI(如登陆、注册等具体页面等)
appbase  -- 基础UI库(如BaseAct、BaseFrag、等等)
business -- 具体业务层(不包含任何UI,只含有具体事件业务的处理)
sundy -- 二次封装层(将flux和net等进行组装为适合自身业务)
flux net cache -- 架构封装

Flux module:

FluxObser -- View层用来接收对应Action的事件回调。  参数为action和当前thread。 被注解函数有且只能有一个参数,即该action对应的Action对象
Dispatcher -- 事件发送器。由各个View或者业务,发送具体事件出去。
FluxAction -- 所有事件Action的父类
FluxStore -- 所有事件store处理类的父类,回调时判断act/frag是否存活,根据传递的obj对象反射获取对应action的注解函数,并执行该函数。

Net module:

NetMgr -- retrofit的入口,用于获取具体的retrofit类
NetInterceptor -- http的父类拦截器,具体业务需要继承此父类以实现自身业务的拦截器
NetObser -- http请求的回调父类,具体业务需要酌情对此进行继承并适应自身业务
NetDomain -- 对retrofit的interface类进行注解,传递domain、moduleId、interceptor
NetTimeOut -- 对retrofit的interface类进行注解,传递http的三个超时时长,单位秒

Cache module:

CacheSp -- 封装mmkv,并对fileName与key进行base64

Sunndy module:

flux/
    LoadAction -- loading事件(典型应用于http请求时转圈事件)
    LoadStore -- 对loading事件请求进行处理,直接将loading状态(true/false)传递给具体业务View,由View控制后续代码
    SundyFluxActions -- Sundy模块中定义的事件清单

http/
    HttpDealCall、HttpDealMgr -- 当http异常时,回调给业务/View,进行对应的处理
    HttpInterceptor -- 继承自NetInterceptor,实现适合自身业务的拦截器
    HttpObser -- 继承自NetObser,对http的数据回调进行适应自身业务的转换
    HttpResp -- 当前业务下的response格式

Business module:

action/
    SplashAction -- 具体业务-获取闪屏数据

model/
   SplashItem -- 具体的闪屏数据对象

net/
    BusiHttpService、BusiHttp -- 当前业务的http清单

store/
    SplashStore -- 具体业务执行-(获取本地闪屏数据,回调,调用http请求获取闪屏数据,存储本地并回调)

BusiActions -- 当前业务下的各类action事件清单
BusiApplication -- 当前业务下的application父类,其中主要是对各种store添加到Dispatcher中
BusiSp -- 当前业务下的Sp存储

AppBase module:

BAct -- 基类Activity(实现LoadAction监听和loading对话框)
BFrag -- 基类Fragment(实现LoadAction监听和告知Activity处理loading对话框)
BDig -- 基类Dialog(实现LoadAction监听和告知Activity处理loading对话框)

App module:

MainActivity -- 继承自BAct(首页,调用Splash事件)
MainApplication -- 继承自BusiApplication(主要是对HttpDealMgr设置回调,以便进行通用toast与特定业务处理)

About

android-Flux架构基础模板

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages