现在还在Android的自学阶段,今天做了一个小练习是在Android中启动线程来进行耗时操作的一个小练习,代码如下,希望大家多多学习共同进步。
package com.helloword;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Intent;
public class MainActivity extends Activity {
Button button;
AlertDialog.Builder ab;
AlertDialog dialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button1);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
// Intent intent = new Intent(MainActivity.this, SendActivity.class);
// startActivityForResult(intent, 1);
new Thread(){
@Override
public void run() {
super.run();
try{
myHandler.sendEmptyMessage(2);
Thread.currentThread().sleep(10000);
}
catch(Exception e) {
e.printStackTrace();
}
myHandler.sendEmptyMessage(1);
}
}.start();
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
button.setText(data.getStringExtra("data"));
}
private Handler myHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if(msg.what == 1) {
dialog.dismiss();
Toast.makeText(MainActivity.this, "toast", Toast.LENGTH_SHORT).show();
}
else if(msg.what == 2) {
ab = new AlertDialog.Builder(MainActivity.this);
dialog = ab.create();
dialog.setTitle("下载中...");
dialog.setMessage("下载中,请稍后");
dialog.show();
}
}
};
}