我是如何搭建Android快速开发框架的(概述)

做Android开发两年多时间了,之前有做过外包,遇到一个新项目,总是会不厌其烦的拷贝文件搭建框架:UI层、缓存、图片加载、日志、路由、Api请求、事件订阅,还有各种工具类等。通常搭建一个简单的框架需要耗费一天的时间,但做的都是重复劳动。于是我想:能不能搞个通用的快速开发框架,可以像搭积木一样随意组装?趁这段时间公司比较闲,特别整理了这个框架:XDroid

取名XDroidX表示通用的,像USBDroid表示Android,即一个通用的Android快速开发框架。

作为一个基础框架,XDroid有如下设计目标

  • 通用:95%以上的Android项目都能使用,大中小型项目都可以
  • 快速:引入简单,小于3分钟;上手容易,10分钟搞定全部;使用简单
  • 轻量:谨慎引入第三方库,尽量减小框架体积
  • 灵活:随意替换模块,不需要修改很多代码,模块间低耦合,随意拆卸组装
  • 主流:符合80%以上开发者的开发模式
  • 规范:代码规范,结构清晰

麻雀虽小五脏俱全,XDroid包含了最基本的UI、Cache、ImageLoader、Log、Router、Event、Net等模块。XDroid是一个通用的Android快速开发框架。

目前 XDroid已经具备的特性如下:

  • 基于MVC,可快速切换到MVP
  • 提供XActivity、XFragment、SimpleRecAdapter、SimpleListAdapter等基类,可快速进行开发
  • 完整封装XRecyclerView,可实现绝大部分需求
  • QTContentLayout、XRecyclerContentLayout实现loading、error、empty、content四种状态的自由切换
  • 实现了Memory、Disk、SharedPreferences三种方式的缓存,可自由扩展
  • 内置了EventBus,可自由切换到其他事件订阅库
  • 内置Glide,可自由切换其他图片加载库
  • 可输出漂亮的Log,支持Json、Xml、Throwable等,实现蝇量级
  • 内置链式路由
  • 内置常用工具类:package、random、file...,提供的都是非常常用的方法
  • 内置加密工具类 XCodec,你想要的加密姿势都有
  • 默认使用okhttputils作为api请求,可任性切换retrofit等其他库
  • 引入三方库极少

后面会用几篇文章来分享下我的搭建过程。

目前已经发布了稳定版本,可以去XDroid Wiki全面了解,期待大家提出宝贵的意见,让XDroid更科学,更强大。

你可能感兴趣的:(我是如何搭建Android快速开发框架的(概述))