https://github.com/zhpanvip/BannerViewPager/tree/master
目前最新版本 2.4.2 https://jitpack.io/#zhpanvip/BannerViewPager
implementation 'com.zhpan.library:bannerview:latestVersion'
支持一屏三页,自定义样式,Indicator位置任意摆放。
很好的一些封装和分析
不打破链式调用,全局error的处理方案, 可以参考其实现方案,根据自己的需求实现
https://github.com/qingmei2/RxWeaver
适合初步学习后阅读的文章
https://juejin.im/post/5b8f536c5188255c352d3528
Rxjava 是具有一定难度,如果实在看不明白可以去学习kotlin 的协程。
目前 支持协程的几种语言(Kotlin
Python
Go...)
都会以主线程的方式开启程序的运行。
Dokit2.0 https://github.com/didi/DoraemonKit
掘金的这篇文章贼有意思
https://juejin.im/post/5dc3cdfa51882538d22d5948
http://api.map.baidu.com/geocoder?output=json&location=31.23,121.47&ak=esNPFDwwsXWtsQfw4NMNmur1
Glide.with(getContext())
.asBitmap() // 使用bitmap,默认不开启
.load(url)
.listener(new RequestListener() { //网络监听
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target target, boolean isFirstResource) {
setDefaultTick();
return false;
}
@Override
public boolean onResourceReady(Bitmap resource, Object model, Target target, DataSource dataSource, boolean isFirstResource) {
return false;
}
})
.apply(new RequestOptions()
.placeholder(R.drawable.loading_pic)//图片加载出来前,显示的图片
.fallback(R.mipmap.bj_pic_2) //url为空的时候,显示的图片
.error(R.mipmap.bj_pic_2)//图片加载失败后,显示的图片)
)
.diskCacheStrategy(DiskCacheStrategy.NONE) //不缓存任何图片
.dontAnimate()
.into(new SimpleTarget() {//当前方法已经废弃
@Override
public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition super Bitmap> transition) {
setBitmap(resource);
}
});
布隆过滤器(Bloom Filter)是一个叫做 Bloom 的老哥于1970年提出的。我们可以把它看作由二进制向量(或者说位数组)和一系列随机映射函数(哈希函数)两部分组成的数据结构。相比于我们平时常用的的 List、Map 、Set 等数据结构,它占用空间更少并且效率更高,但是缺点是其返回的结果是概率性的,而不是非常准确的。理论情况下添加到集合中的元素越多,误报的可能性就越大。并且,存放在布隆过滤器的数据不容易删除。
https://github.com/Snailclimb/JavaGuide/blob/master/docs/dataStructures-algorithms/data-structure/bloom-filter.md