安卓基础开发库,DevRing使用说明

DevRing是一个综合性的安卓基础开发库,包括网络请求、图片加载、数据库、事件总线、缓存等模块。它使用Retrofit+RxJava进行网络请求,Glide进行图片加载(可替换),GreenDao(可替换)处理数据库,EventBus(可替换)实现事件总线,以及RxPermission处理权限管理。库中提供了详细的配置和调用方法,适用于各种场景,支持自定义替换各个模块。使用时需注意配置依赖,并按顺序进行初始化、配置和构建。
摘要由CSDN通过智能技术生成

https://github.com/LJYcoder/DevRing

介绍

经过最近的努力,将几个常用框架进行了封装,并抽成了一个安卓基础开发库
主要包括 网络请求、图片加载、数据库、事件总线、缓存、权限管理、工具类 模块。

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

Demo采用MVP+Dagger2进行开发,演示了各模块的使用。
对以上提及的框架如果不熟悉,建议先了解下~

如果觉得不错,不妨点个star。你的支持,是我开源的动力~

使用说明

1. 添加依赖

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

compile 'com.ljy.ring:devring:1.0.4'

由于数据库、图片加载、事件总线模块支持替换其默认实现的框架,
所以库中对GreenDao,Glide,EventBus的依赖是使用compileOnly(仅在编译时依赖),这么做是为了避免被替换的框架依然参与打包,从而增加了apk大小。

也就是说,对于这三个模块,当你需要使用相关框架时,还需添加其依赖。  

如果要使用Devring库的图片加载模块(默认Glide),那么需要添加Glide依赖

compile 'com.github.bumptech.glide:glide:4.4.0'

如果要使用Devring库的数据库模块(默认GreenDao),那么需要添加GreenDao依赖

//Project下的build.gradle文件中加入
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.0'
//Module下的build.gradle文件中加入
apply plugin: 'org.greenrobot.greendao'
compile 'org.greenrobot:greendao:3.2.0'

如果要使用Devring库的事件总线模块(默认EventBus),那么需要添加EventBus依赖

compile 'org.greenrobot:eventbus:3.0.0'


2. 初始化、配置、构建

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

2.1 初始化

DevRing.init(this);

2.2 配置

根据你的需求进行相关模块的全局配置,下面将对每个配置方法进行说明。

2.2.1 配置网络请求模块
DevRing.configureHttp()
        //设置BaseUrl
        .setBaseUrl(UrlConstants.BASE_URL)
        //设置请求超时时长,单位秒
        .setConnectTimeout(15)
        //设置全局的header信息
        .setMapHeader(mapHeader)
        //设置是否启用缓存,默认不启用
        .setIsUseCache(true)
        //设置缓存地址,传入的file需为文件夹,默认保存在/storage/emulated/0/Android/data/com.xxx.xxx/cache/retrofit_http_cache下
        .setCacheFolder(file)
        //设置缓存大小,单位byte,默认20M
        .setCacheSize(size)
        //设置有网络时缓存保留时长,单位秒,默认60秒
        .setCacheTimeWithNet(time)
        //设置无网络时缓存保留时长,单位秒,默认一周
        .setCacheTimeWithoutNet(time)
        //设置是否开启失败重试功能,目前仅支持普通的网络请求,上传下载不支持。默认不开启
        .setIsUseRetryWhenError(true)
        //设置失败后重试的最大次数,默认3次
        .setMaxRetryCount(2)
        //设置失败后重试的延迟时长,单位秒,默认3秒
        .setTimeRetryDelay(5)
        //设置是否开启Log,默认不开启
        .setIsUseLog(true);

如果以上的配置无法满足你的要求,那么可以通过以下方法获取相关Builder进行具体定制

//获取OkHttpClient.Builder
DevRing.configureHttp().getOkHttpClientBuilder();
//获取Retrofit.Builder
DevRing.configureHttp().getRetrofitBuilder();
2.2.2 配置图片加载模块
DevRing.configureImage()
        //设置“加载中”状态时显示的图片
        .setLoadingResId(R.mipmap.ic_image_load)
        //设置“加载失败”状态时显示的图片
        .setErrorResId(R.mipmap.ic_image_load)
        //设置是否开启状态切换时的过渡动画,默认false
        .setIsShowTransition(true)
        //设置是否使用okhttp3作为网络组件,默认true
        .setIsUseOkhttp(false)
        //设置内存缓存大小,不建议设置,使用框架默认设置的大小即可
        .setMemoryCacheSize(size)
        //设置Bitmap池大小,设置内存缓存大小的话一般这个要一起设置,不建议设置,使用框架默认设置的大小即可
        .setBitmapPoolSize(size)
        //设置具体的磁盘缓存地址,传入的file需为文件夹
        .setDiskCacheFile(file)
        //设置磁盘缓存大小,单位byte,默认250M
        .setDiskCacheSize(200*1024*1024)
        //设置磁盘缓存地址是否在外部存储中,默认false
        .setIsDiskCacheExternal(true)
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值