一. android的UI交互更新代码
1.最简单的handler方式:
Handler handler = new Handler();
//简单方式
handler.post(new Runnable() {
public void run() {
System.out.println("update UI");
}
});
//采用延迟更新的方式
handler.postDelayed(new Runnable() {
@Override
public void run() {
System.out.println("update UI");
}
}, 1000);
//将Runnable提出来的方式
handler.post(mRunnable);
mRunnable = new Runnable() {
@Override
public void run() {
System.out.println("update UI");
}
};
2.采用复杂的handler方式
Message message = new Message();
message.what = 1;
handler.sendMessage(message);
//或者采用此方法发送
int MESSAGE_HELLO = 1;
String message = "hello";
mHandler.obtainMessage(MESSAGE_HELLO, message).sendToTarget();
Handler handler = new Handler(){
@Override
public void handleMessage(Message msg){
super.handleMessage(msg);
if(msg.what == 1){
System.out.println("update UI"+(String) msg.obj);
}
}
};
二. Android 的异步线程Threadde 代码
1.最简单的方式:
new Thread(){
public void run() {
System.out.println("Runnable running ");
};
}.start();
2.将Runnable提取出来:
new Thread(r).start();
Runnable r = new Runnable() {
@Override
public void run() {
System.out.println("Runnable running ");
}
};
3.单独将Thread写成类的:
MyThread myThread1 = new MyThread();
myThread1.start();
class MyThread extends Thread {
public void run() {
System.out.println("Runnable running ");
}
}
4.将Runnable拎出来的:
SyncRunnable sr1 = new SyncRunnable();
Thread td1 = new Thread(sr1, "td1");
td1.start();
public class SyncRunnable implements Runnable {
@Override
public void run() {
System.out.println("Runnable running ");
}
}
三.一般最常见最简单的组合是:
new Thread(){
public void run() {
handler.post(new Runnable() {
public void run() {
System.out.println("update UI");
}
});
};
}.start();