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; }
}
}