Android快速开发框架,基础库,样式库,组件化,组件集成

栏目: Android · 发布时间: 5年前

内容简介:快速开发框架,并不是现成的框架。它是一种架构,它集成了基础库,网络库,尺寸颜色主题定义,并提出了一种组件化设计。它更像是一种sdk+架构设计抽象。本文也提供了组件设计规范和集成demo,开发者使用时,还需要做定义工作。快速接入基础库和组件,大大缩短新应用开发周期。统一开发模式,能带来快速开发,快速维护,功能稳定的体验。架构主要是业务模块化,以及通用功能组件化。但不限于此,有需要还能继续分拆,业务模块组件化,插件化,或进程化

概述

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

目标

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

组件化

  • 封装基础库组件,包括基本的架构基础类,activity,dialog,动态权限,沉浸式,工具类等
  • 封装一套design组件,包含规定的多套尺寸,样式,以及主题
  • 按照规范定义功能组件,网络组件,分享组件等
  • 封装组件集成,通过统一入口链接各个组件。

App架构

1 、整体架构图

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

模块依赖baselib组件和easyComponent组件

easyComponent组件依赖其他功能组件

Android快速开发框架,基础库,样式库,组件化,组件集成

2、应用层模块化

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

模块内基本架构:

Android快速开发框架,基础库,样式库,组件化,组件集成

livedata基本结构图:

Android快速开发框架,基础库,样式库,组件化,组件集成

基本组件介绍

基础库 baselib

包含:

  1. life-arch,livedata基本封装
  2. 基础SharePerference封装
  3. 环境设置,包括接口环境,debug环境(可控制日志输出)
  4. 基础Activity/Fragment
  5. dialog, tab, statusbar
  6. recyclerview快速开发
  7. viewtools
  8. 动态权限
  9. 工具类
  10. 多任务处理Rxjava
  11. 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组件

不祥

组件设计规范

应包含:

  1. 尽量减少对其他组件的依赖
  2. 组件初始化过程(比如设置Application)
  3. 调用组件的过程
  4. 生命周期管理

集成步骤

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

基础库组件使用

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

Android快速开发框架,基础库,样式库,组件化,组件集成

定义组件

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

补充easycomponent

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

以网络库为例,见:

Android快速开发框架,基础库,样式库,组件化,组件集成
Android快速开发框架,基础库,样式库,组件化,组件集成
Android快速开发框架,基础库,样式库,组件化,组件集成

重新设置design_style组件

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

修改colors.xml文件:

Android快速开发框架,基础库,样式库,组件化,组件集成

修改dimens.xml文件:

Android快速开发框架,基础库,样式库,组件化,组件集成

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

初始化Application:

Android快速开发框架,基础库,样式库,组件化,组件集成

你的app工程依赖:

Android快速开发框架,基础库,样式库,组件化,组件集成

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

Android快速开发框架,基础库,样式库,组件化,组件集成

附言

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


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

免费

免费

克里斯•安德森 / 蒋旭峰、冯斌、璩静 / 中信出版社 / 2012-10 / 68.00元

一种商业模式既可以统摄未来的市场,也可以挤垮当前的市场——在我们这个现代经济社会里,这并不是一件不可能的事情。 “免费”就是这样的一种商业模式,它所代表的正是数字化网络时代的商业未来。 在《免费》这本书中,克里斯•安德森认为,新型的“免费”并不是一种左口袋出、右口袋进的营销伎俩,而是一种把货物和服务的成本压低到零的新型卓越能力。在20世纪“免费”是一种强有力的推销手段,而在21世纪它已经成为......一起来看看 《免费》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

URL 编码/解码
URL 编码/解码

URL 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器