android的多线程
方法1
class MyThread extends Thread {}
new MyThread().start();
方法2
class MyThread implements Runnable {}
MyThread myThread = new MyThread();
new Thread(myThread).start();
非主线程更新UI
主线程通过handler接收message更新UI
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 to meet you"); break;
default: break;
} }
};
其他线程通过handler发送message
public void onClick(View v) {
switch (v.getId()) {
case R.id.change_text:
new Thread(new Runnable() {
@Override
public void run() {
Message message = new Message(); message.what = UPDATE_TEXT;
handler.sendMessage(message); // 将Message对象发送出去
} }).start();
break; default:
break; }
}
}