项目的架构

posts/feeds(功能模块) -->Component:BusiLib(各个模块的一些公用组件比如view/constants小红点管理器等/包括各个模块自己的event/model/view) --> commoncore(极验,哆啦A梦,小米登陆,debug配置) --->baseLibrary:commonsdk/baseLibrary:mediaengine/commonservice

baseLibrary:commonsdk: 和业务无关的一些组件/比如dialog,bitmappool/flowlayout ->第三方的arouter/walle/rxjava2/okhttp3/retrofit/fastjson/rxpermissions2/xlog/glide/greendao/umeng

commonService 各个model公用的servie接口 或者 view接口/ callback

项目目录结构如下

livesdk

app

skr_flutter

pbgit

1. 主项目代码 地址 http://git.inframe.club/chengsimin/livesdk 。访问不了找相关人员配置Member加权限

2. 项目flutter部分代码 地址 http://git.inframe.club/skrer/skr_flutter 。 访问不了找相关人员配置Member加权限

3. 项目pbgit部分代码 地址 http://git.inframe.club/skrer/pb . PbGit 定义 下行信令消息 的Protocol buffer 协议。 房间内的状态机信令信息都在这。

# 项目结构介绍

livesdk --- 项目

app --- 空壳app,也有一些flutter methodchannel 代码。以及一些全局事件的处理代码

baselibray --- 业务无关的基础库

AndResGuard --- APK包大小压缩库

android-gif-drawable --- 著名的开源gif库

arcCloud --- 对演唱进行打分的库,花钱买的

avstatistics --- 引擎统计

commonsdk --- 基础库,图片压缩,播放器,音视频缓存工具,各种工具类,图片相册浏览等等等很多基础库,想到的功能几乎都有,不用在业务模块中再写基础库

enginesdk --- 声网引擎库

mediaengine --- 媒体引擎库

effectsdk --- 抖音魔法表情库

my-utils-gradle --- gradle插件库,目前没用

replugin-xxxx --- 360 replugin 插件库,目前没用,不参与编译

commoncore --- 业务相关,但几乎所有App都有的业务。比如帐号,scheme,权限管理的封装,app的升级的等

Component --- 业务基础组件库,比如app风格的统一弹窗,统一的歌词渲染控件,通知管理等等

Module --- 业务模块

Club --- 家族模块

Feeds --- 帖子浏览

Home --- 主页,设置,个人主页等

IMKit --- 消息模块,对融云的封装,长链接信令的入口也在这

PlayWays --- 所有游戏的主要玩法都在这,抢唱,排位,双人合唱,主题房等

Posts --- 帖子的制作与发布

commonservice --- 定义了Module 对外暴露的接口

skr_flutter --- 一些逻辑简单的页面为了节约人力,统一用flutter写,android ios 公用

# 项目架构解析

1. Module 之间无编译依赖,完全解耦,支持插拔

2. Module间的通信借助ARouter依赖注入,接口在 commonservice 中暴露

3. Module的初始化在 XXXConfiguration 中进行,Application在commonsdk层,BaseApplication,在onCreate时会通过反射找出各个Module的Configuration,并执行初始化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值