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开发经验。以上为个人的经验总结,不当之处欢迎讨论,并持续优化。


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

查看所有标签

猜你喜欢:

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

Machine Learning

Machine Learning

Kevin Murphy / The MIT Press / 2012-9-18 / USD 90.00

Today's Web-enabled deluge of electronic data calls for automated methods of data analysis. Machine learning provides these, developing methods that can automatically detect patterns in data and then ......一起来看看 《Machine Learning》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具