Android怎么实现短信验证码倒计时功能
发表于:2025-02-16 作者:千家信息网编辑
千家信息网最后更新 2025年02月16日,这篇"Android怎么实现短信验证码倒计时功能"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来
千家信息网最后更新 2025年02月16日Android怎么实现短信验证码倒计时功能
这篇"Android怎么实现短信验证码倒计时功能"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"Android怎么实现短信验证码倒计时功能"文章吧。
场景:注册账号页面时,我们点击按钮发送验证码,在等待验证码时,界面会有倒计时提示,这此期间按钮不可点击。当倒计时结束时,按钮恢复。
实现与功能都不难,这次用 RxBinding,RxJava2 的方法去实现。并实现了手动、自动停止倒计时,防止多次点击。
功能动态图
要使用 RxBinding、RxJava2 先添加 Gradle 配置:
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'compile 'io.reactivex.rxjava2:rxjava:2.0.1'compile 'com.jakewharton.rxbinding2:rxbinding:2.0.0'compile 'com.jakewharton.rxbinding2:rxbinding-support-v4:2.0.0'compile 'com.jakewharton.rxbinding2:rxbinding-appcompat-v7:2.0.0'
首先通过 RxView.clicks() 绑定并转换成一个倒计时的 Observable 观察者对象。
ObservablemObservableCountTime = RxView.clicks(mBtnSendMsm) //防止重复点击 .throttleFirst(MAX_COUNT_TIME, TimeUnit.SECONDS) //将点击事件转换成倒计时事件 .flatMap(new Function
设置作为倒计时提示的 Consumer 被观察者对象。
ConsumermConsumerCountTime = new Consumer () { @Override public void accept(Long aLong) throws Exception { //显示剩余时长。当倒计时为 0 时,还原 btn 按钮. if (aLong == 0) { RxView.enabled(mBtnSendMsm).accept(true); RxTextView.text(mBtnSendMsm).accept("发送验证码"); } else { RxTextView.text(mBtnSendMsm).accept("剩余 " + aLong + " 秒"); } }};
订阅点击事件:
//订阅点击事件 Disposable mDisposable = mObservableCountTime.subscribe(mConsumerCountTime);
停止倒计时,但依然可以再次点击。
//重置验证码按钮。RxView.clicks(mBtnClean).subscribe(new Consumer
退出当前页面时,销毁清空数据。
@Overrideprotected void onDestroy() { super.onDestroy(); if (mDisposable != null) { mDisposable.dispose(); }}
以上就是关于"Android怎么实现短信验证码倒计时功能"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
倒计时
验证
按钮
功能
内容
事件
短信
对象
观察者
剩余
观察
订阅
数字
文章
知识
篇文章
页面
提示
价值
再次
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
梦幻西游 限时服务器
卸载服务器数据库
魔兽世界怀旧服四川人多的服务器
济南定制软件开发公司有哪些
海思平台软件开发外包
psv服务器登陆
九江迈科斯软件开发
服务器什么时候维修比较短
采用什么规格的esg数据库
数据库可疑修复时间
信创为什么要用arm服务器
网络安全产业发展论坛
安卓手机软件开发难学吗
红河网络安全咨询
网络安全保费
中软国际数据库语言
宜宾软件开发专业定制
双硕软件开发有限公司怎么样
数据库维保项目中标合同公示
如何找回强制关手机的数据库
封开软件开发技术在线咨询
网络技术支撑要下乡吗
怎样更改网络安全秘钥
服务器游戏吾爱破解
辽宁学考手机服务器地址怎么改写
h1z1在哪儿选服务器
阿里云云服务器优缺点
网络安全的产生
360开源数据库
小程序连接数据库本地调试