編輯:關於Android編程
本文實例講述了Android定時器和Handler用法。分享給大家供大家參考。具體分析如下:
一、環境:
主機:WIN8
開發環境:Android Studio
二、定時器使用示例:
初始化:
//定時器 private Timer Timer_Work = new Timer(); //工作間隔,單位:ms private final int INTERVAL_WORK = 5000;
創建定時器線程:
/**
* 構造函數
*/
public Config() {
//生成配置信息
generate_config_info();
//創建定時線程
Timer_Work.schedule(new Task(), INTERVAL_WORK, INTERVAL_WORK);
// 定時任務
}
新建任務:
/**
* 定時器線程定時工作
*/
private class Task extends TimerTask {
@Override
public void run() {
generate_config_info();
}
}
三、定時器和Handler組合工作,更新UI示例(定時器線程不能直接更新UI):
定時器任務:
/**
* 定時器線程定時工作
*/
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打開視頻准備");
video(-224);
break;
}
}
super.handleMessage(msg);
}
};
四、Handler和Runnable組合產生線程示例:
延時200ms調用runnable
handler.postDelayed(runnable, 200);
產生線程:
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();
}
}
};
希望本文所述對大家的Android程序設計有所幫助。
android Handler的使用(一)
Handler的使用(一) Handler基本概念: Handler主要用於異步消息的處理:當發出一個消息之後,首先進入一個消息隊
Android實現兩個ScrollView互相聯動的同步滾動效果代碼
本文實例講述了Android實現兩個ScrollView互相聯動的同步滾動效果代碼。分享給大家供大家參考,具體如下:最近在做一個項目,用到了兩個ScrollView互相聯
Android 多媒體開發學習之創建圖片的副本
什麼叫創建圖片的副本? 因為我們直接從BitmapFactory取出來的圖片是可讀的,是不可以修改的。 假設用戶想修改這張圖片,一般是先根據原圖在內存中創建和原圖一模一樣
Android應用開發入門篇-拼圖游戲
前一段時間為了學習android應用開發,嘗試寫了個簡單的拼圖應用,在此記錄下實現流程的核心部分,同時也希望給其他開發者入門參考帶來幫助。 1. 基本的界面設計