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