一.线程的基本用法
1.新建一个类继承Thread,然后重写父类的run()方法
class MyThread extends Thread{
public void run(){
//处理具体的逻辑
}
}
//启动
new MyThread().start();
2.新建一个类实现Runnable这一接口,然后重写run()方法
class MyThread implements Runnable{
public void run(){
//处理具体的逻辑
}
}
//启动
MyThread myThread = new MyThread();
new Thread(myThread ).start();
3.使用匿名类,也是最常用的一个方式
new Thread(new Runnable(){
public void run(){
//处理逻辑
}
}).start();
二.在子线程里更新UI
android规定不能在子线程里更新UI,这是不安全的,Android提供了一套异步消息处理机制
例子:点击按钮,Text中的内容变为Nice to meet you
public class MainActivity extends Activity implements OnClickListener{
public static final int UPDATE_TEXT=1;
private TextView text;
private Button changeText;
private Handler handler =new Handler(){
public void handleMessage(Message msg){
switch(msg.what){
case UPDATE_TEXT:
//这里进行UI操作
text.setTExt("Nice te meet you");
break;
default:
break;
}
}
.....
public void onClick(View v){
switch(v.getId()){
case R.id.change_text:
new Thread(new Runnable(){
public void run(){
Message message = new Message();
message.what=UPDATE_TEXT;
handler.sendMessage(message);
}
}).start();
大概写了一下,
三.使用AsyncTask