涉及三个类:
MainActiviyt.java 主类
FirstAsyncTask.java 继承 AsyncTask<Void,Void,Void>类
NetOperator.java 在异步线程中执行的操作
package com.ken.async;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
private Button btn1;
private Button btn2;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn1=(Button)findViewById(R.id.first);
btn2=(Button)findViewById(R.id.second);
btn1.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
/*NetOperator operator=new NetOperator();
operator.operate(); */
FirstAsyncTask asyncTask=new FirstAsyncTask();
asyncTask.execute();
}
});
btn2.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
System.out.println("输出信息");
}
});
}
}
package com.ken.async;
import android.os.AsyncTask;
public class FirstAsyncTask extends AsyncTask<Void,Void,Void> {
@Override
protected Void doInBackground(Void... arg0) {
// TODO Auto-generated method stub
NetOperator operator=new NetOperator();
operator.operate();
return null;
}
}
package com.ken.async;
public class NetOperator {
public void operate(){
try{
Thread.sleep(8*1000);
}catch(InterruptedException e){
e.printStackTrace();
}
}
}