以下只是我个人的浅见,大神请忽略~
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
原标题:Android AsyncTask的使用
关键词:Android