Android定時(shí)器和Handler用法實(shí)例分析
本文實(shí)例講述了Android定時(shí)器和Handler用法。分享給大家供大家參考。具體分析如下:
一、環(huán)境:
主機(jī):WIN8
開發(fā)環(huán)境:Android Studio
二、定時(shí)器使用示例:
初始化:
//定時(shí)器 private Timer Timer_Work = new Timer(); //工作間隔,單位:ms private final int INTERVAL_WORK = 5000;
創(chuàng)建定時(shí)器線程:
/**
* 構(gòu)造函數(shù)
*/
public Config() {
//生成配置信息
generate_config_info();
//創(chuàng)建定時(shí)線程
Timer_Work.schedule(new Task(), INTERVAL_WORK, INTERVAL_WORK);
// 定時(shí)任務(wù)
}
新建任務(wù):
/**
* 定時(shí)器線程定時(shí)工作
*/
private class Task extends TimerTask {
@Override
public void run() {
generate_config_info();
}
}
三、定時(shí)器和Handler組合工作,更新UI示例(定時(shí)器線程不能直接更新UI):
定時(shí)器任務(wù):
/**
* 定時(shí)器線程定時(shí)工作
*/
private class Task extends TimerTask {
@Override
public void run() {
if (get_state() == ENUM_State.FREE)
{
connect("10.58.1.59",8906);
}
if (get_state() == ENUM_State.CONNECT_SUCCESS)
{
login("TianTian","");
}
if (get_state() == ENUM_State.LOGIN_SUCCESS)
{
enter_room(1,"");
}
if (get_state() == ENUM_State.ENTER_ROOM_SUCCESS)
{
Message message = new Message();
message.what = 1;
handler.sendMessage(message);
}
}
}
Handler處理信息:
private Handler handler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what)
{
case 1:
{
System.out.println("sdk打開視頻準(zhǔn)備");
video(-224);
break;
}
}
super.handleMessage(msg);
}
};
四、Handler和Runnable組合產(chǎn)生線程示例:
延時(shí)200ms調(diào)用runnable
handler.postDelayed(runnable, 200);
產(chǎn)生線程:
Handler handler = new Handler();
Runnable runnable = new Runnable() {
@Override
public void run() {
try {
int videoBitrate = anychatSDK.QueryUserStateInt(userID, AnyChatDefine.BRAC_USERSTATE_VIDEOBITRATE);
if (videoBitrate > 0)
{
handler.removeCallbacks(runnable);
mOtherView.setBackgroundColor(Color.TRANSPARENT);
}
handler.postDelayed(runnable, 200);
} catch (Exception e) {
e.printStackTrace();
}
}
};
希望本文所述對(duì)大家的Android程序設(shè)計(jì)有所幫助。
- Android開發(fā)必備:秒殺真機(jī)超快模擬器Genymotion介紹
- 基于Android中實(shí)現(xiàn)定時(shí)器的3種解決方法
- Android中使用定時(shí)器的三種方法
- Android定時(shí)器實(shí)現(xiàn)的幾種方式整理及removeCallbacks失效問題解決
- Android三種實(shí)現(xiàn)定時(shí)器的方法
- android自定義倒計(jì)時(shí)控件示例
- android實(shí)現(xiàn)倒計(jì)時(shí)功能代碼
- Android實(shí)現(xiàn)計(jì)時(shí)與倒計(jì)時(shí)的常用方法小結(jié)
- Android實(shí)現(xiàn)加載廣告圖片和倒計(jì)時(shí)的開屏布局
- Android定時(shí)器和倒計(jì)時(shí)實(shí)現(xiàn)淘寶秒殺功能
相關(guān)文章
android ViewPager實(shí)現(xiàn)滑動(dòng)翻頁效果實(shí)例代碼
本篇文章主要介紹了android ViewPager實(shí)現(xiàn)滑動(dòng)翻頁效果實(shí)例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-03-03
解析:ClickOnce通過URL傳遞參數(shù) XXX.application?a=1
本篇文章是對(duì)ClickOnce通過URL傳遞參數(shù)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
Android開發(fā)中使用外部應(yīng)用獲取SD卡狀態(tài)的方法
這篇文章主要介紹了Android開發(fā)中使用外部應(yīng)用獲取SD卡狀態(tài)的方法,簡單分析了Android監(jiān)聽SD卡狀態(tài)的方法,并結(jié)合實(shí)例形式分析了Android外部應(yīng)用獲取SD卡狀態(tài)的相關(guān)操作技巧,需要的朋友可以參考下2017-11-11
Android編程實(shí)現(xiàn)識(shí)別與掛載U盤的方法
這篇文章主要介紹了Android編程實(shí)現(xiàn)識(shí)別與掛載U盤的方法,對(duì)比分析了Android針對(duì)U盤的識(shí)別與掛載技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-02-02
Android學(xué)習(xí)之AppWidget筆記分享
這篇文章主要為大家詳細(xì)介紹了Android學(xué)習(xí)筆記之AppWidget的相關(guān)資料,感興趣的小伙伴們可以參考一下2016-08-08
Android實(shí)現(xiàn)Listview異步加載網(wǎng)絡(luò)圖片并動(dòng)態(tài)更新的方法
這篇文章主要介紹了Android實(shí)現(xiàn)Listview異步加載網(wǎng)絡(luò)圖片并動(dòng)態(tài)更新的方法,結(jié)合實(shí)例形式詳細(xì)分析了ListView異步加載數(shù)據(jù)的操作步驟與具體實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-08-08

