android是可以多執行緒(多工)的,以下範例示範多執行緒。
程式碼:
package com.example.tt_sample;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.HandlerThread;
import android.view.Menu;
public class MainActivity extends Activity {
private Handler mUI_Handler=new Handler();
private Handler mThreadHandler;
private HandlerThread mThread;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mThread=new HandlerThread("aa");
mThread.start();
mThreadHandler=new Handler(mThread.getLooper());
mThreadHandler.post(r1);
}
private Runnable r1=new Runnable(){
publicvoid run(){
//這裡放執行緒1要執行的程式。
mUI_Handler.post(r2); //執行執行緒2。
}
};
private Runnable r2=new Runnable(){
publicvoid run(){
//這裡放執行緒2要執行的程式。
}
};
@Override
protectedvoid onDestroy(){
super.onDestroy();
if(mThreadHandler != null){
mThreadHandler.removeCallbacks(r1);
}
if(mThread != null){
mThread.quit();
}
}
@Override
publicboolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
returntrue;
}
}
留言列表