Android(安卓)Handler(二)
16lz
2021-01-26
在onCreate方法中初始化元素个元素,myHandler = new Handler(this); 调用的是 Handler(Handler.Callback callback)构造函数,在回调方法callback中对发送来的消息进行处理(这样我们就不必使用内部类的写法来 重写HandleMessage()方法了),因此Activity必须实现 android.os.Handler.Callback 接口。我们还在将onCreate 方法的ThreadId 记录在了Log中用以和消息发送、处理时所作的线程进行比较。
发送消息
java代码:
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btnStartTime:
startTimer();
break;
case R.id.btnStopTime:
timer.cancel();
break;
}
}
private synchronized void startTimer() {
timer = new Timer();
// TimerTask
updateTimerValuesTask = new TimerTask() {
// @Override
// public void run() {
// updateTimerValues();
// }
// };
//自定义的CallBack模式。Task继承自TimerTask
Task updateTimerValuesTask = new Task(this);
timer.schedule(updateTimerValuesTask, 1000, 1000);
}
//执行耗时的倒计时任务。
private void updateTimerValues() {
total--;
Log.d("ThreadId", "send:"+ String.valueOf(Thread.currentThread().getId()));
Message msg=new Message();
Bundle date = new Bundle();
发送消息
java代码:
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btnStartTime:
startTimer();
break;
case R.id.btnStopTime:
timer.cancel();
break;
}
}
private synchronized void startTimer() {
timer = new Timer();
// TimerTask
updateTimerValuesTask = new TimerTask() {
// @Override
// public void run() {
// updateTimerValues();
// }
// };
//自定义的CallBack模式。Task继承自TimerTask
Task updateTimerValuesTask = new Task(this);
timer.schedule(updateTimerValuesTask, 1000, 1000);
}
//执行耗时的倒计时任务。
private void updateTimerValues() {
total--;
Log.d("ThreadId", "send:"+ String.valueOf(Thread.currentThread().getId()));
Message msg=new Message();
Bundle date = new Bundle();
更多相关文章
- Android(安卓)单个应用的内存限制
- Open Core 上层代码结构
- Android(安卓)两个简单线程使用示例
- 右下角android sdk content loader 加载很慢的解决方法
- 【Android(安卓)Developers Training】 4. 启动另一个Activity
- Android:关于onConfigurationChanged()的介绍
- Android(安卓)L SystemUI 流程简要分析
- Android从Fragment跳转到其他Activity的简单实例
- Android自动挂断来电(ITelephony的使用)