XDroid是一个轻量级的Android快速开发框架

474 阅读3分钟
原文链接: github.com

#XDroid 轻量级的Android快速开发框架

概述

XDroid是一个轻量级的Android快速开发框架,由UICacheEventImageLoaderKitLogRouterNet等几个部分组成。其设计思想是使用接口对各模块解耦规范化,不强依赖某些明确的三方类库,使得三方类库可自由搭配组装,方便替换。可快速、自由的进行App开发。

Demo详细使用可参看Demo

XDroid-Base

XDroid-Base包含开发中常用的一些快速开发类,可作为一个简单的开发框架,由Base、Cache、ImageLoader、Kit、Log、Router等几个部分组成。可快速、自由的按需扩展进行App开发。

传送门:https://github.com/fodroid/XDroid-Base

XDroid-Databinding

XDroid-Databinding是XDroid快速开发框架的Databinding版本,大部分源码也与XDroid类似。

传送门:https://github.com/fodroid/XDroid-Databinding

XDroidMvp

XDroidMvp是基于XDroid的MVP实现,不是传统意义的MVP,不需写接口,可无缝切换MVC,可能是当前最好用的MVP框架。

传送门:https://github.com/limedroid/XDroidMvp

XDroidMvp-Databinding

XDroidMvp-Databinding是基于XDroidMvp的Databinding版本,大部分源码也与XDroidMvp类似。

传送门:开发中

XDroid推出以来,得到了很多朋友的快速反馈,目前有很多朋友在新项目或是老项目中使用XDroid,为了方便学习和交流,可以加入QQ群:

XDroid交流群:153569290

特性

XDroid主要有这些特性:

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

详细说明请前往wiki

Get Started

使用,仅需四步:

step1

clone 'XDroid'库到本地:

git clone https://github.com/limedroid/XDroid.git

step2

将library作为依赖库,在您的app module 中 添加如下依赖:

compile project(':library')

step3

拷贝conf.gradle到您的项目根目录,并修改项目gradle文件下引入:

apply from: "conf.gradle"

并添加:

allprojects {
    repositories {
        jcenter()
        maven { url "https://jitpack.io" }
    }
}

step4

修改XDroidConf配置类,主要针对log、cache、router、imageloader。若采用默认配置,此步骤可略过.

Demo效果

重要说明

  • ButterKnife使用的是8.4.0版本,重点是 @BindView,可以去项目官网查看。
  • EventBus使用的是3.0.0版本,使用注解@Subscribe,具体如何使用可以查看官网。

ToDo

  • MVP、retrofit、rx迁移(v2.0)
  • 权限适配(v2.0)
  • compact工具(v3.0)

相关文档

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

我是如何搭建Android快速开发框架的之UI篇(上)

感谢

  • 感谢干货提供的api

droidlover

Email : droidlover@126.com

Github : github.com/limedroid

简书www.jianshu.com/u/276be5744…

fodroid

Email : me.shihao@qq.com

Github : github.com/fodroid

简书www.jianshu.com/u/caf7ea360…