Android 编程下的计时器
来源:互联网 发布:淘宝装修教程视频 编辑:程序博客网 时间:2024/06/05 16:24
转载自:http://www.cnblogs.com/sunzn/p/3272548.html
在安卓 APP 的手机号注册逻辑中,经常会有将激活码发送到手机的环节,这个环节中绝大多数的应用考虑到网络延迟或服务器压力以及短信服务商的延迟等原因,会给用户提供一个重新获取激活码的按钮。如下图所示:
同样,为了防止用户恶意的频繁发送激活码,应用中需要对用户发送激活码的时间间隔进行限制,这时就需要用到倒计时器了,大概流程是这样的:页面初始化的时候,按钮为可点击状态,用户在点击“发送激活码”后按钮变为不可点击状态,同时按钮上的文字变为倒计时状态,倒计时结束后,按钮变为可点击状态,文字变为“发送激活码”。具体逻辑看下面的代码:
package cn.sunzn.countdown;import android.app.Activity;import android.os.Bundle;import android.os.CountDownTimer;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity implements OnClickListener { private TimeCount timeCount; private Button btn_reget_captcha; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); init(); } private void init() { initView(); initData(); } private void initData() { timeCount = new TimeCount(60000, 1000); } private void initView() { btn_reget_captcha = (Button) findViewById(R.id.btn_reget_captcha); btn_reget_captcha.setOnClickListener(this); } public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; } public void onClick(View v) { int id = v.getId(); switch (id) { case R.id.btn_reget_captcha: if (btn_reget_captcha.isClickable()) { // TODO run your logic that you want to do timeCount.start(); } break; default: break; } } class TimeCount extends CountDownTimer { public TimeCount(long millisInFuture, long countDownInterval) { super(millisInFuture, countDownInterval); } public void onFinish() { btn_reget_captcha.setText("发送激活码"); btn_reget_captcha.setClickable(true); } public void onTick(long millisUntilFinished) { btn_reget_captcha.setClickable(false); btn_reget_captcha.setText("在" + millisUntilFinished / 1000 + "秒后点击重发激活码"); } }}
0 0
- Android 编程下的计时器
- Android 编程下的计时器 和 防止按钮重复点击事件
- (笔记)linux下的真实计时器、虚拟计时器、实用计时器
- Android计时器的一种
- Android 计时器的实现
- Windows编程:计时器的创建
- windows下的时间计时器
- Windows编程:计时器消息的处理、销毁计时器
- android 简单的倒计时器
- Android计时器Chronometer的使用
- Android 计时器的简单用法
- Android 开发 计时器的实现
- Android简单计时器的实现
- Android计时器Timer的使用方法
- android简单计时器的开发
- Android简单的计时器实现
- 求教Android计时器的问题
- Android 计时器的简单实现
- 我的CokeWeather托管到github上的问题-------------push出错
- 交换排序的几种排序算法
- java基本数据类型
- VB添加滚轮支持
- 2012年5月SAT香港真题解析
- Android 编程下的计时器
- hdu1060 N^N首位 log10
- Android 应用内多进程实现
- IOS 点击空白处隐藏键盘的几种方法
- Objective-C对象模型--类对象和元类对象
- tcp相关知识
- NTFS For Mac轻松解决使用难题教程
- Unity编程笔录--Unity二维码识别和生成二维码
- HDU 1312 Red and Black-dfs&bfs-(分块)