Kafka 并没有提供延时队列,可以用 Redis 的 ZSet 来实现。 ZSet 是按 score 排序的,可以用消息实际消费的时间作为 score,然后取 [0, 当前时间] 区间内的消息即可实现延时队列。 基本接口 首先定义一个基本…
在微服务架构中,如果把鉴权放在各服务中将会导致代码冗余且增加工作量。 如果在网关鉴权,不仅能保证所有接口有统一的鉴权标准,也能避免各服务鉴权不一致导致的漏洞。 下面记录一下用 Spring Security Oauth2 + Spring …
国内的地图 SDK 目前暂不支持 Compose,之前给高德地图封装过一次,可以达到想要的效果。 这次准备封装一个通用的地图组件,把不同地图 SDK 之间共同的组件以及功能抽象出来,开发者不再需要关心不同地图 SDK 对同一功能的不同实现,…
今天写项目的时候发现切换指定语言之后,可能会部分失效,在搜索引擎逛了一圈,基本上都是用了attachBaseContext(Context newBase)这个方法,在查阅更多资料之后,才发现这个方法才是罪魁祸首。 在androidx中,A…
沉浸适配Android手势提示线
最近在做项目的时候,有朋友提出来要求适配一下手势线,但是在搜索引擎逛了一圈,都没发现合适的解决方案,于是自己稍微摸索了一下,虽然达到了效果,可能还有更好的方法,这里就简单记录一下。 首先来到themes.xml中,在你的主题里面加上下面这行…
Android开发的小伙伴们应该对Room再熟悉不过了吧,虽然好用,但是初学肯定会遇到各种各样的问题,这次来简单记录一下Room数据库添加数据表的版本升级。 Room$databaseBuilder下提供了addMigrations方法以供…
一般情况下通常会想到用TextWatcher来监听Edittext的数据变化,但是在recyclerViewAdapter更新的时候会重复触发这个监听事件,造成数据混乱。 尝试了百度上各种方法之后,都没有成功orz...... 于是想到了一…