kotlin
文章平均质量分 55
kaixuan_dashen
这个作者很懒,什么都没留下…
展开
-
使用kotlin协程与Flow,50行代码实现网络测速功能
最近使用kotlin的flow,重构之前同事写的网络测速功能,发现flow用起来太舒服了,原本好几个类一堆代码,现在50行就实现了核心逻辑。实现了,输出每秒网速,最多限制10秒,求平均网速的需求。原创 2023-06-29 11:08:14 · 808 阅读 · 0 评论 -
安卓中的虚拟键盘实现,KeyEvent的事件分发、处理机制。EditText是如何将KeyEvent事件转为字符输入的?
一、实现一个可以模拟输入的软键盘一开始,我们的需求是在用户经常使用的部分界面中,增加虚拟软键盘,减少用户对于外接键盘的依赖如图,在整单改价界面右侧增加了方便用户快捷输入的软键盘,用户不需要使用外接键盘,即可完成常见的商品改价等操作。那么这个代码逻辑实现起来比较简单,因为业务中有许多类似界面需要使用该软键盘功能,所以我们将它单独封装为一个View: mView = View.inflate(context, R.layout.res_keypad_view, this...原创 2021-01-06 13:54:47 · 5414 阅读 · 6 评论 -
kotlin 协程,延迟x秒,并可以提前结束此延迟的代码实现
先说下业务背景需求是要实现一个语音播报队列,这个队列中可以加入外卖类型语音和收银类型语音然后外卖语音加入到队列开始播放时,播放完成后延迟5秒钟继续播放队列中的下一条语音收银语音的需求比较特殊,收银语音插入时,会打断正在播放的语音(不管是外卖语音还是收银语音),并立即开始播放收银语音可以理解为收银语音同一时刻只能存在一个,添加多个时不会插入到队列尾部,而是以最新的为准进行播放难点就在于这个打断机制,因为我们收银语音的插入时,播放队列的状态可以看做是三个1、队列为空2、正在播放某原创 2020-11-02 17:11:01 · 4866 阅读 · 0 评论