Android怎么实现短信验证码倒计时功能
发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,这篇"Android怎么实现短信验证码倒计时功能"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来
千家信息网最后更新 2025年01月18日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安全错误
数据库的锁怎样保障安全
美国网络安全部队
网安大队开设网络安全课
i510400f服务器
怎样用命令查看数据库表
数据库文献太大怎么办
高中会考网络技术应用要求
塔科夫新手玩哪个服务器
软件开发大创申报书
电脑网吧可以做服务器吗
网上购物服务器配置
在服务器上无法连接到打印机
玩转DISCUZ数据库下载
辽宁数字化城管软件开发电话
网络安全甲方培训
网络安全类型选项
警务室开展网络安全检查工作简报
主备数据库和分布式数据库
昆山专业模具制造管理软件开发
用友的系统管理查不到服务器
指尖铭心网络技术有限公司
基金投资数据库怎么做
数据库中树状表的原理
虹口区网络技术产业化
软件测试软件开发网
石景山区信息化软件开发职责
主机托管所用网络技术
服务器玩剑灵
如何增强自我网络安全大学生
警务室开展网络安全检查工作简报
济南知识产权案搭建服务器