android自定义架构图,Android快速开发框架,基础库,样式库,组件化,组件集成...

本文介绍了一种快速开发框架,它整合了基础库、网络库、尺寸颜色主题定义,并采用组件化设计。框架提供SDK和架构设计抽象,通过组件化封装基础库和功能组件,如网络组件、权限管理、UI工具等,实现快速接入和开发。此外,还制定了组件设计规范和集成步骤,以提升开发效率和应用稳定性。开发者需要根据规范定义和集成组件,以适应特定应用需求。
摘要由CSDN通过智能技术生成

概述

快速开发框架,并不是现成的框架。它是一种架构,它集成了基础库,网络库,尺寸颜色主题定义,并提出了一种组件化设计。它更像是一种sdk+架构设计抽象。本文也提供了组件设计规范和集成demo,开发者使用时,还需要做定义工作。

目标

快速接入基础库和组件,大大缩短新应用开发周期。统一开发模式,能带来快速开发,快速维护,功能稳定的体验。

组件化

封装基础库组件,包括基本的架构基础类,activity,dialog,动态权限,沉浸式,工具类等

封装一套design组件,包含规定的多套尺寸,样式,以及主题

按照规范定义功能组件,网络组件,分享组件等

封装组件集成,通过统一入口链接各个组件。

App架构

1 、整体架构图

架构主要是业务模块化,以及通用功能组件化。但不限于此,有需要还能继续分拆,业务模块组件化,插件化,或进程化

模块依赖baselib组件和easyComponent组件

easyComponent组件依赖其他功能组件

b48f1b84476ead9edee8c62fdde5ddcf.png

2、应用层模块化

业务模块使用livedata的架构模式。

模块内基本架构:

bf82baf83856f23d4379137fb99c7838.png

livedata基本结构图:

7d140644e6a6009419243c2a83d9a296.png

基本组件介绍

基础库 baselib

包含:

life-arch,livedata基本封装

基础SharePerference封装

环境设置,包括接口环境,debug环境(可控制日志输出)

基础Activity/Fragment

dialog, tab, statusbar

recyclerview快速开发

viewtools

动态权限

工具类

多任务处理Rxjava

Eventbus事件总线

网络组件 networklib

OKhttp3+Rxjava2+Retrofit2的解决方案,并设计了6种缓存策略,只读缓存(无视过期时间),自定义缓存时间,读网络,固定缓存1天,读网络并刷新缓存,读缓存同时请求网络并写缓存。

UI尺寸颜色规范库 design_style

包含一组尺寸,颜色规范,可推动设计师们按规范设计。

主要目的是撸UI尽量不用思考,提高开发效率和统一的尺寸和颜色体验。

通过重新修改尺寸,颜色值,主题样式即可快速使用。

内容包含:

文字size,大中小几种规范;

组件外距/内距(margin/padding) 统一只有几种规格;

分界线长度,宽度,颜色;

文字颜色,主颜色,次要颜色,最次要颜色;

activity主题,状态栏,标题栏,背景颜色,光标颜色,问题颜色等等;

dialog主题,圆角,边距,底色;

快速访问组件 easyComponent

easyComponent实现了对组件的接入

模块通过easyComponent组件,以责任链的方式调用。

如 Easys.network().api().getUser(observer)

分享组件

不祥

webview组件

不祥

组件设计规范

应包含:

尽量减少对其他组件的依赖

组件初始化过程(比如设置Application)

调用组件的过程

生命周期管理

集成步骤

下载源码demo,https://github.com/superroye/lefastdev

基础库组件使用

基础库收录了大部分常用功能,后续继续完善。

25f58717e7836dc4d86a006b5f137ed1.png

定义组件

按上述组件规范,定义新组件。以networklib为例,见源码。

补充easycomponent

集成新组件的实现,源码有相关demo,使用责任链的设计模式。

以网络库为例,见:

994e7e382ba1a0d27f4bb46eb9697cb1.png2ad60f56a37e9a9b2343fe1a2f1f5b9a.pngafed1809b0aa5ded3e2fd4f96b09d2c4.png

重新设置design_style组件

主题,尺寸,颜色,需要定义成适合本应用的一套样式。

修改colors.xml文件:

8b0a3cf098e23d264db5a8d888daf77f.png

修改dimens.xml文件:

c9a40c8ccaf7eb93ea9788ac78e84dc5.png

测试组件调用,并开始你的开发之旅。

初始化Application:

9af7b0fb22b91c7cb54d43d78c2e3d5f.png

你的app工程依赖:

84b90d2c7fef6048b79f244879625829.png

调用网络组件(初始化,和调用):

a57505abdd5c82174829e98648837057.png

附言

本人做过4年java服务端开发,5年android开发经验。以上为个人的经验总结,不当之处欢迎讨论,并持续优化。

【编辑推荐】

【责任编辑:未丽燕 TEL:(010)68476606】

点赞 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值