简单的AsyncTask使用例子

public class HelloanActivity extends Activity implements View.OnClickListener
{
	/
	//
	///
	private TextView textView = null;
	private ProgressDialog progressDialog = null;
	
	private Handler handler = new Handler(){
		public void handleMessage(Message msg) {
			super.handleMessage(msg);
			switch (msg.what) {

			default:
				break;
			}
			
		}
	};
	
	
	public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main); 
        textView = (TextView)findViewById(R.id.main_TV);
        findViewById(R.id.main_button).setOnClickListener(this);
	}
	
	
  
    public void onClick(View v) 
    {
    	try {
    		new MyTask().execute("aaaaaa");
    		//注意一个实例只能执行一次
		} catch (Exception e) {
			e.printStackTrace();
		}
    }
    
    private class MyTask extends AsyncTask<String, Integer, Integer>
    {
    	@Override
    	protected void onPreExecute() {
    		super.onPreExecute();
    		///UI线程执行
    		progressDialog = new ProgressDialog(HelloanActivity.this);
    		progressDialog.setMax(100);
    		progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
    		progressDialog.setTitle("trest");
    		progressDialog.show();
    		textView.setText("onPreExecute");
    	}
    	@Override
    	protected Integer doInBackground(String... params) 
    	{
    		///非UI线程执行
    		System.out.println(params[0]);
    		int progress = 0;
    		while (progress <100) {
				progress++;
				publishProgress(progress);
				try {
					Thread.sleep(100);
				} catch (Exception e) {
				}
			}
    		return null;
    	}
    	@Override
    	protected void onProgressUpdate(Integer... values) {
    		///UI线程执行
    		super.onProgressUpdate(values);
    		progressDialog.setProgress(values[0]);
    		textView.setText("onProgressUpdate"+values[0]);
    	}
    	@Override
    	protected void onPostExecute(Integer result) {
    		///UI线程执行
    		super.onPostExecute(result);
    		progressDialog.dismiss();
    		textView.setText("onPostExecute");
    	}
    }
    
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值