你的位置:首页 > 操作系统

[操作系统]Android AsyncTask的使用


以下只是我个人的浅见,大神请忽略~

AsyncTask是一个非常方便的编写异步任务的工具类,在进行网络的操作的时候有时会出现阻塞等情况,用户体验非常差。

当然用线程就可以解决这个问题,但是我个人觉得AsyncTask使用起来更方便,当然也有人说AsyncTask也有缺陷,但是我目前没有遇到所谓的缺陷。

废话不多说,AsyncTask的使用:

 1 class DemoThread extends AsyncTask<String, String, String> 2 { 3 ProgressDialog m_pDialog = null; 4 @Override 5 protected String doInBackground(String... arg0) {  //后台执行 注:此处不能有任何前台操作 6   List<NameValuePair> userParms = new ArrayList<NameValuePair>(); 7   HttpUtils utils = new HttpUtils(); 8   String result = utils.doPost("http://www.baidu.com/", userParms); 9   return result;10 }11 @Override12 protected void onPreExecute() {  //初始化13   m_pDialog = new ProgressDialog(MainActivity.this);14   m_pDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);15   m_pDialog.setMessage("请稍等...");16   m_pDialog.setIndeterminate(false);17   m_pDialog.setCancelable(true);18   m_pDialog.show();19 }20 @Override21 protected void onPostExecute(String result)  //后台的返回值22 {23   if (m_pDialog != null && m_pDialog.isShowing())24   {25     m_pDialog.hide();26     m_pDialog.dismiss();27   }28   textView1.setText(result);29 }30 31 }

看代码嫌烦,点这:AsyncTask_demo.zip