All Projects → LJYcoder → Devring

LJYcoder / Devring

安卓基础开发库,包含各常用模块,让开发简单点。

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Devring

Wanandroid
WanAndroid客户端,项目基于 Material Design + MVP +dagger2 + RxJava + Retrofit + Glide + greendao 等架构进行设计实现,极力打造一款 优秀的玩Android https://www.wanandroid.com 客户端,是一个不错的Android应用开发学习参考项目
Stars: ✭ 223 (-46.14%)
Mutual labels:  rxjava2, greendao, retrofit2, glide
Xsnow
💮基于RxJava2+Retrofit2精心打造的Android基础框架,包含网络、上传、下载、缓存、事件总线、权限管理、数据库、图片加载,基本都是项目中必用功能,每个模块充分解耦,可自由拓展。
Stars: ✭ 1,678 (+305.31%)
Mutual labels:  rxjava2, greendao, retrofit2, glide
Awesome Wanandroid
⚡致力于打造一款极致体验的 http://www.wanandroid.com/ 客户端,知识和美是可以并存的哦QAQn(*≧▽≦*)n
Stars: ✭ 2,525 (+509.9%)
Mutual labels:  rxjava2, greendao, retrofit2, glide
Rxapp
Stars: ✭ 108 (-73.91%)
Mutual labels:  rxjava2, retrofit2, glide
Mvpframes
整合大量主流开源项目并且可高度配置化的 Android MVP 快速集成框架,支持 AndroidX
Stars: ✭ 100 (-75.85%)
Mutual labels:  rxjava2, retrofit2, glide
MVPSamples
🚀(Java 版)快速搭建 MVP + RxJava + Retrofit + EventBus 的框架,方便快速开发新项目、减少开发成本。
Stars: ✭ 113 (-72.71%)
Mutual labels:  eventbus, rxjava2, retrofit2
Hibiscus
Hibiscus, mobile microblogging application.
Stars: ✭ 14 (-96.62%)
Mutual labels:  glide, rxjava2, retrofit2
Mvvmsmart
基于谷歌最新AAC架构,MVVM设计模式的一套快速开发库,整合ViewModel+Lifecycles+Navigation+DataBinding+LiveData+Okhttp+Retrofit+RxJava+Glide等主流模块,满足日常开发需求。使用该框架可以快速开发高质量、易维护的Android应用。 项目组会持续维护,请放心使用.欢迎Start并Fork交流.
Stars: ✭ 382 (-7.73%)
Mutual labels:  rxjava2, retrofit2, glide
Mvvmhabit
goldze: 本人喜欢尝试新的技术,以后发现有好用的东西,我将会在企业项目中实战,没有问题了就会把它引入到MVVMHabit中,一直维护着这套框架,谢谢各位朋友的支持。如果觉得这套框架不错的话,麻烦点个 star,你的支持则是我前进的动力!
Stars: ✭ 6,789 (+1539.86%)
Mutual labels:  rxjava2, retrofit2, glide
situp android proj
🚀一个基组件化、模块化、MVP + MVVM 计划 App,兼容安卓 10.0 9.0 8.0 等 🔥a app like keep, you can edit your plans here, and you can share your life to others by post, too.🔥
Stars: ✭ 15 (-96.38%)
Mutual labels:  glide, rxjava2, retrofit2
BaseDevelop
an android project for now fashion open source framework
Stars: ✭ 24 (-94.2%)
Mutual labels:  glide, retrofit2, greendao
Weather-Guru-MVP
Sample Material-design Android weather application build with MVP architectural approach using Dagger2, RxJava2, Retrofit2, Event-Bus, GreenDao, Butterknife, Lottie etc.
Stars: ✭ 15 (-96.38%)
Mutual labels:  rxjava2, retrofit2, greendao
Kotlinmvpsamples
🚀(Kotlin 版 )快速搭建 Kotlin + MVP + RxJava + Retrofit + EventBus 的框架,方便快速开发新项目、减少开发成本。
Stars: ✭ 103 (-75.12%)
Mutual labels:  rxjava2, eventbus, retrofit2
Wanandroid
🔥项目采用 Kotlin 语言,基于 MVP + RxJava + Retrofit + Glide + EventBus 等架构设计,努力打造一款优秀的 [玩Android] 客户端
Stars: ✭ 1,223 (+195.41%)
Mutual labels:  rxjava2, retrofit2, glide
Androidproject
Android 技术中台,但愿人长久,搬砖不再有
Stars: ✭ 4,398 (+962.32%)
Mutual labels:  rxjava2, retrofit2, glide
BakingApp
Udacity Android Developer Nanodegree, project 2.
Stars: ✭ 54 (-86.96%)
Mutual labels:  glide, rxjava2, retrofit2
Awesome Third Library Source Analysis
📖 Deep understanding of popular open source library source code (optimizing...)
Stars: ✭ 866 (+109.18%)
Mutual labels:  eventbus, greendao, glide
Bailan
基于retorfit2,Rxjva2,Okhttp3,Glide,Dagger2,GreenDAO等框架采用MVP架构的仿应用商店App
Stars: ✭ 542 (+30.92%)
Mutual labels:  rxjava2, greendao, glide
MVVM-Demo
This demo for MVVM Design pattern for android
Stars: ✭ 20 (-95.17%)
Mutual labels:  glide, rxjava2, retrofit2
BESTV
Android TV App powered by TMDb. It is a easy way to find the best TV content, the top movies, series... all of that in your TV.
Stars: ✭ 49 (-88.16%)
Mutual labels:  glide, rxjava2, retrofit2

DevRing

label1 label2 label3 label4

介绍

DevRing是一个提供了常用模块的安卓基础开发库
主要包括 网络请求图片加载数据库事件总线缓存权限管理工具类 模块。

其中,网络请求使用Retrofit+RxJava实现,图片加载使用Glide实现(可替换),数据库使用GreenDao实现(可替换),事件总线使用EventBus实现(可替换),权限管理使用RxPermission实现。


使用

使用文档请点这里

1.添加依赖

在项目module下的gradle中添加以下依赖:

implementation 'com.ljy.ring:devring:1.2.0'

2.初始化、配置、构建

在Application的onCreate中进行初始化、配置、构建。
务必按顺序执行这三步。

//1.初始化
DevRing.init(this);


//2.根据你的需求进行相关模块的全局配置

//配置网络请求模块,如BaseUrl,连接超时时长,Log,全局Header,Cookie,缓存,失败重试等
DevRing.configureHttp().setXXX()...

//配置图片加载模块,如替换实现框架,加载中图片,加载失败图片,开启过渡效果,缓存等
DevRing.configureImage().setXXX()...

//配置事件总线模块,如替换实现框架,EventBus的index加速
DevRing.configureBus().setXXX()...

//配置数据库模块、替换实现框架
DevRing.configureDB(dbManager);  

//配置缓存模块,如磁盘缓存的地址、大小等
DevRing.configureCache().setXXX()...

//配置其他模块,如Toast样式,是否显示RingLog,是否启用崩溃日志等
DevRing.configureOther().setXXX()...


//3.构建
DevRing.create();

3.开始调用

通过DevRing.xxxManager()得到相关模块的管理者,然后进行具体操作。

//网络请求模块:
//普通请求、上传请求、下载请求、监听上传下载进度、生命周期控制等。
DevRing.httpManager().xxx();

//图片加载模块:
//各类型图片的加载,可设置加载选项(圆形、圆角、模糊、灰白),下载图片,获取Bitmap等
DevRing.imageManager().xxx();

//事件总线模块:
//订阅、解除订阅,发送普通事件,发送粘性事件
DevRing.busManager().xxx();

//数据库模块:
//对key值对应的数据表进行增删改查等
DevRing.tableManager(key).xxx();

//缓存模块:
//提供内存缓存,磁盘缓存,SharedPreference缓存
DevRing.cacheManager().xxxCache().xxx();

//其他模块:权限管理、Activity管理
DevRing.permissionManager().xxx();
DevRing.activityListManager().xxx();

...

4.其他

提供了ActivityLifeCallback 和 FragmentLifeCallback,以实现基类的功能。
只需Activity实现IBaseActivity接口即可完成相关的基类操作。
只需Fragment实现IBaseFragment接口即可完成相关的基类操作。
具体请查看项目代码以及关于基类的那些事

提供了部分常用的工具类
BarUtil(状态栏导航栏颜色控制),FileUtil(文件操作工具类),RingLog(可定位的Log打印),RingToast(吐司工具类),ImageUtil(图片工具类),NetworkUtil(网络状态工具类)、FontTypeUtil(修改App字体样式工具类)、KeyboardUtil(软键盘工具类)等。

5.注意事项

  1. 配置参数为File时,请自行确保对传入的File具有可读写权限。  
  2. 部分框架需忽略混淆,具体的混淆配置请参考Demo中app下的proguard-rules.pro文件。
  3. DevRing库中AndroidManifest已添加了网络权限,所以主项目不必重复添加。
  4. DevRing库中已添加了Glide,EventBus,GreenDao,Dagger2,Retrofit2,RxJava2,RxAndroid2,RxLifeCycle2,RxPermission2的依赖,所以主项目不必重复添加。
  5. 可以通过exclude移除DevRing库中相关框架的依赖以减小包体积。 例如:
api ('com.ljy.ring:devring:x.x.x'){
   //如果不需使用图片加载模块或者该模块不使用Glide实现,那么可以加上这句移除Devring库中对Glide的依赖以减小包体积
   exclude module: 'glide'
   //如果不需使用事件总线模块或者该模块不使用EventBus实现,那么可以加上这句移除Devring库中对EventBus的依赖以减小包体积
   exclude module: 'eventbus'
   //如果不需使用数据库模块或者该模块不使用GreenDao实现,那么可以加上这句移除Devring库中对GreenDao的依赖以减小包体积
   exclude module: 'greendao'
}

Demo

内容

  1. 演示了DevRing各模块的使用。
  2. 演示了如何使用Fresco替换图片加载模块中默认的Glide。
  3. 演示了如何使用RxBus替换事件总线模块中默认的EventBus。
  4. 演示了如何使用原生数据库替换数据库模块中默认的GreenDao。  
  5. 演示了如何使用LifeCycleCallback来实现Activity/Fragment基类的功能。
    ....

运行图


版本信息

  • v1.2.0

  • v1.1.9 (2020/7/14)

    • 兼容AndroidX
    • 迁移依赖库到AndroidX
    • 升级Glide图片加载控件到最新版本(4.9.0)
  • v1.1.8 (2019/5/16)

    • 修复GreenDao数据库在部分高版本系统手机上崩溃的问题。问题和解决
  • v1.1.7 (2019/4/27)

    • 小优化
  • v1.1.6 (2019/2/21)

    • 新增根据Tag手动取消网络请求的功能
  • v1.1.5 (2019/1/29)

    • (PR by Xieyos) 网络模块新增Cookie功能,支持持久化和非持久化
    • 优化部分工具类
  • v1.1.4 (2018/12/22)

    • 修复网络模块刷新时重复添加拦截器的问题
  • v1.1.3 (2018/12/17)

    • 图片加载模块添加是否使用缓存的设置
    • 关于状态栏导航栏颜色控制:移除ColorBar,引入了Ultimatebar
  • v1.1.2 (2018/10/28)

    • 修复网络请求模块中生命周期控制无效的问题

更多版本信息点这里查看


相关博客

建议先熟悉相关框架的用法介绍,可更好地了解本库的用法与代码

DevRing使用说明
系列开篇
Retrofit+RxJava
Fresco
Glide
EventBus
ButterKnife
GreenDAO
关于基类的那些事
常用的一些工具类


最后,感谢本项目中所涉及的开源代码的作者们。
有什么问题或建议,可以提issue或者简书告知。
如果觉得对你有帮助,不妨点个★star支持鼓励我~~

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].