Android组件化架构

架构分层:应用/模块层、应用框架层、通用技术库、性能优化等。

1.应用/模块层:App+Module+Core。

App:主应用,可按需集成一个或多个子模块。

Module:子系统或应用模块,也可以打包成独立App。如CMS、Chat、音视频会议、云盘等

Core:供App和Module公用的平台核心库。包括:1.公共接口、实体类、核心api接口及实现、aidl接口及服务;2.注册注销、选人、用户信息页、登录、子系统应用启动、自动更新等。

2.应用框架层 App Framework Layer

BaseUI:通用UI库,string.xml、适配的dimens.xml、style.xml、toast、alertdialog、appacativity、baseacitivity、baseframment、UIWidget(自定义UI组件)等

CommonUtils:通用工具库,自行封装的一些必要的工具类。

Auth:身份验证、登录及第三方登录方案的封装。

Router:管理界面跳转,引用第三方或自行封。

权限框架: Permission4M。

NetUtils:Httputils(通用网络客户端组件:请求、上传、下载、Https,可引用Retrofit2、OkHttp3等)、SocketUtils(常规Socket通讯和SSL安全的Socket通讯的封装)、BleUtils(蓝牙通讯库的封装)。

DBUtils:封装数据库工具库SqlUtils或引入第三方库GreenDao、Ormlite等。

PreferenceUtils:必要的封装,便于使用。

ImageLoader方案:引入第三方Fresco、Glide、ImageLoader,可适当封装。

Json解析:使用第三方库Gson、Jackson等。

Eventbus:事件总线组件。可引用EventBus、OTTO等。

性能监控框架:使用等LeakCanary、BlockCanary等。

其他:Dagger2、RxJava、RxAndroid。

3.通用业务组件层:Common Business Libs

音频、视频、二维码、LBS、支付、社会化分享、即时通讯等组件封装。 

音视频业务:Audioplayer、Audiorecorder、Ijkplayer

第三方登录和分享的封装:socialsdk

第三方sdk及封装: PaySDK、LBSSDK、Zxing

4.工程管理框架:签名配置、混淆打包插件、多Dex文件打包插件

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,194评论 4 61
  • 人到中年,生活的一地鸡毛,工作的烦躁无味,我们已经体验。你有不有一种麻木感?太多的人,已经让我们的心不再起波澜,太...
    千秋雪_阅读 3,720评论 15 9
  • 2018年1月26日,周五,初三的日子第159天。 预报今天空气质量轻度污染。 今天从北京返程回西安。 车子行驶在...
    天空有云阅读 1,202评论 0 0
  • 姓名:刘敬武 公司:临沂和创饲料有限公司 【反省总结第61天,始于20180420今天是20180619】 【知~...
    0dbb66a89a27阅读 949评论 0 0