public class TestThread extends Thread{ public Handler m_Handler; @Override public void run() { Log.d("Seker", "TestThread.run()"); //Looper.prepare();
m_Handler = new MyHandler(Looper.myLooper());
Log.d("Seker", "TestThread.send 100 messages."); for (int i = 1; i < 100; i ++){ Message message = new Message(); message.what = i; message.arg1 =i; message.arg2 = i; m_Handler.sendMessage(message);
public class MyHandler extends Handler { public MyHandler(Looper looper){ super(looper); } @Override public void handleMessage(Message msg) { int what = msg.what; int arg1 = msg.arg1; int arg2 = msg.arg2;
现在写android,写一个拷贝文件的程序,拷贝进度在一个进度条上展示出来,了解的话应该不算什么,我想找个程序先运行一起来,然后照样子做一个,主要想图个快啊
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.util.Log;
import android.view.View;
import android.widget.Button;// Log.d("Seker", "");
public class MainActivity extends Activity implements Button.OnClickListener{
private Button button00, button01, button02;
public Handler mHandler;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.main);
button00 = (Button)findViewById(R.id.Button00);
button00.setOnClickListener(this);
button01 = (Button)findViewById(R.id.Button01);
button01.setOnClickListener(this);
button02 = (Button)findViewById(R.id.Button02);
button02.setOnClickListener(this);
button02.setVisibility(View.INVISIBLE);
mHandler = new Handler(){
public void handleMessage(Message msg){
int what = msg.what;
int arg1 = msg.arg1;
int arg2 = msg.arg2;
Log.d("Seker", "MainActivity: \twhat: " + what + "\t arg1: " + arg1 + "\t arg2: " + arg2);
}
};
} @Override
public void onClick(View v) {
int id = v.getId();
switch (id){
case R.id.Button00:
onButton00Clicked();
break;
case R.id.Button01:
onButton01Clicked();
break;
case R.id.Button02:
onButton02Clicked();
break;
}
}
private void onButton00Clicked(){
TestThread testthread = new TestThread();
testthread.run();
Log.d("Seker", "button1 clicked, create test thread.");
}
private void onButton01Clicked(){
Message message = new Message();
message.what = 0;
message.arg1 = 0;
message.arg2 = 0;
mHandler.sendMessage(message);
Log.d("Seker", "button1 clicked, send message 0, 0, 0.");
}
private void onButton02Clicked(){
Message message = new Message();
message.what = 2;
message.arg1 =2;
message.arg2 = 2;
mHandler.sendMessage(message);
Log.d("Seker", "button2 clicked, send message 2, 2, 2.");
}
public class TestThread extends Thread{
public Handler m_Handler;
@Override
public void run() {
Log.d("Seker", "TestThread.run()");
//Looper.prepare();
m_Handler = new MyHandler(Looper.myLooper());
Log.d("Seker", "TestThread.send 100 messages.");
for (int i = 1; i < 100; i ++){
Message message = new Message();
message.what = i;
message.arg1 =i;
message.arg2 = i;
m_Handler.sendMessage(message);
Message message2 = new Message();
message2.what = i;
message2.arg1 =i;
message2.arg2 = i;
mHandler.sendMessage(message2);
}
Looper.loop();
}
}
public class MyHandler extends Handler {
public MyHandler(Looper looper){
super(looper);
} @Override
public void handleMessage(Message msg) {
int what = msg.what;
int arg1 = msg.arg1;
int arg2 = msg.arg2;
Log.d("Seker", "TestThread: \twhat: " + what + "\t arg1: " + arg1 + "\t arg2: " + arg2);
}
}
}