banner 圖
https://github.com/zhpanvip/BannerViewPager/tree/master
目前最新版本 2.4.2 https://jitpack.io/#zhpanvip/BannerViewPager
implementation 'com.zhpan.library:bannerview:latestVersion'
支持一屏三頁,自定義樣式,Indicator位置任意擺放。
RxJava
很好的一些封裝和分析
不打破鏈式調用,全局error的處理方案, 可以參考其實現方案,根據自己的需求實現
https://github.com/qingmei2/RxWeaver
適合初步學習後閱讀的文章
https://juejin.im/post/5b8f536c5188255c352d3528
Rxjava 是具有一定難度,如果實在看不明白可以去學習kotlin 的協程。
目前 支持協程的幾種語言(Kotlin
Python
Go...)
都會以主線程的方式開啓程序的運行。
測試App
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
Glide.with(getContext())
.asBitmap() // 使用bitmap,默認不開啓
.load(url)
.listener(new RequestListener<Bitmap>() { //網絡監聽
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Bitmap> target, boolean isFirstResource) {
setDefaultTick();
return false;
}
@Override
public boolean onResourceReady(Bitmap resource, Object model, Target<Bitmap> 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<Bitmap>() {//當前方法已經廢棄
@Override
public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) {
setBitmap(resource);
}
});
布隆過濾器
布隆過濾器(Bloom Filter)是一個叫做 Bloom 的老哥於1970年提出的。我們可以把它看作由二進制向量(或者說位數組)和一系列隨機映射函數(哈希函數)兩部分組成的數據結構。相比於我們平時常用的的 List、Map 、Set 等數據結構,它佔用空間更少並且效率更高,但是缺點是其返回的結果是概率性的,而不是非常準確的。理論情況下添加到集合中的元素越多,誤報的可能性就越大。並且,存放在布隆過濾器的數據不容易刪除。