android開(kāi)發(fā)教程之a(chǎn)ndroid的handler使用方法
Android Handler的使用,在講Handler之前,我們先提個(gè)小問(wèn)題,就是如何讓程序5秒鐘更新一下Title.
首先我們看一下習(xí)慣了Java編程的人,在不知道Handler的用法之前是怎么樣寫(xiě)的程序,代碼如下所示:
package com.android.tutor;
import java.util.Timer;
import java.util.TimerTask;
import android.app.Activity;
import android.os.Bundle;
public class HandlerDemo extends Activity {
//title為setTitle方法提供變量,這里為了方便我設(shè)置成了int型
private int title = 0;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Timer timer = new Timer();
timer.scheduleAtFixedRate(new MyTask(), 1, 5000);
}
private class MyTask extends TimerTask{
@Override
public void run() {
setTitle("Welcome to Mr Wei's blog " + title);
title ++;
}
}
}
然而當(dāng)我們執(zhí)行程序,并不能達(dá)到我們預(yù)期的效果,所以Android 引進(jìn)了Handler 這個(gè)特殊的類(lèi),可以說(shuō)它是Runnable和Activity交互的橋梁
,所以我們只要在run方法中發(fā)送Message,而在Handler里,通過(guò)不同的Message執(zhí)行不同的任務(wù)。
所以我們修改后的代碼如下:
package com.android.tutor;
import java.util.Timer;
import java.util.TimerTask;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
public class HandlerDemo extends Activity {
//title為setTitle方法提供變量,這里為了方便我設(shè)置成了int型
private int title = 0;
private Handler mHandler = new Handler(){
public void handleMessage(Message msg) {
switch (msg.what) {
case 1:
updateTitle();
break;
}
};
};
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Timer timer = new Timer();
timer.scheduleAtFixedRate(new MyTask(), 1, 5000);
}
private class MyTask extends TimerTask{
@Override
public void run() {
Message message = new Message();
message.what = 1;
mHandler.sendMessage(message);
}
}
public void updateTitle(){
setTitle("Welcome to Mr Wei's blog " + title);
title ++;
}
}
下面我們看一下效果圖:
- Android多線(xiàn)程處理機(jī)制中的Handler使用介紹
- Android開(kāi)發(fā)筆記 Handler使用總結(jié)
- Android使用Handler和Message更新UI
- Android開(kāi)發(fā)使用UncaughtExceptionHandler捕獲全局異常
- 實(shí)例講解Android多線(xiàn)程應(yīng)用開(kāi)發(fā)中Handler的使用
- 詳解Android中Handler的使用方法
- android使用handler ui線(xiàn)程和子線(xiàn)程通訊更新ui示例
- android使用handlerthread創(chuàng)建線(xiàn)程示例
- android Handler詳細(xì)使用方法實(shí)例
- Android中handler使用淺析
相關(guān)文章
Android編程實(shí)現(xiàn)識(shí)別與掛載U盤(pán)的方法
這篇文章主要介紹了Android編程實(shí)現(xiàn)識(shí)別與掛載U盤(pán)的方法,對(duì)比分析了Android針對(duì)U盤(pán)的識(shí)別與掛載技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-02-02
Android開(kāi)心消消樂(lè)代碼實(shí)例詳解
這篇文章主要介紹了Android開(kāi)心消消樂(lè)代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05
Kotlin FrameLayout與ViewPager2控件實(shí)現(xiàn)滾動(dòng)廣告欄方法
這篇文章主要介紹了Kotlin FrameLayout與ViewPager2控件實(shí)現(xiàn)滾動(dòng)廣告欄,F(xiàn)rameLayout與ViewPager2是Android開(kāi)發(fā)中非常常見(jiàn)的布局組件,并且它不單單是一個(gè)幀布局組件,可以用它實(shí)現(xiàn)多種功能,感興趣的朋友一起來(lái)看看吧2022-12-12
解析android 流量監(jiān)測(cè)的實(shí)現(xiàn)原理
本篇文章是對(duì)android中流量監(jiān)測(cè)的實(shí)現(xiàn)原理進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
簡(jiǎn)略分析Android的Retrofit應(yīng)用開(kāi)發(fā)框架源碼
這篇文章主要介紹了Android的Retrofit應(yīng)用開(kāi)發(fā)框架的源碼分析,作者對(duì)Volley和Retrofit兩個(gè)框架進(jìn)行了一些對(duì)比,比較精彩,需要的朋友可以參考下2016-02-02
模擬按Home鍵退出應(yīng)用的簡(jiǎn)單方法(分享)
下面小編就為大家?guī)?lái)一篇模擬按Home鍵退出應(yīng)用的簡(jiǎn)單方法(分享)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-04-04

