这是第一篇个人笔记,留作纪念,哈哈
----------------------------------------------------------------------------
异步任务AsyncTask
----------------------------------------------------------------------------
异步任务AsyncTask
最简单使用方法: 新建类,继承 AsyncTask
AsyncTask的三个数说明(三个参数可以是任何类型)
第一个:doInBackground()方法的参数类型
第二个:onProgressUpdate()方法的参数类型
第三个:onPostExecute()方法的参数类型,同时也是doInBackground()方法返回的类型
public class MyAsyncTask extends AsyncTask <Void , Integer , String>
{
protected void onPreExecute ()
{
//开始执行(UI线程中执行)
}
pritected String doInBackground (Void... arg0)
{
//运行期间(新线程)
publishProgress (1);//调用可更新UI,可传递值
return "";
}
protected void onPostExecute (String result)
{
//执行结束(UI线程中执行)
}
protected void onProgressUpdate (Integer... Progress)
{
//被publishProgress调用,一般用于UI更新
}
}
UI线程中
MyAsyncTask myAsyncTask = new MyAsyncTask ();
myAsyncTask .execute();
myAsyncTask .executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
==============================================================================
最后总结一下:
1.创建异步任务必须在 UI 线程
2.不要在异步任务里面手动调用on开头的方法
3.onPreExecute 执行异步任务前 的回调方法 (在UI线程中执行)
5.onPostExecute 执行异步任务后 的回调方法 (在UI线程中执行)
6.onProgressUpdate 更新UI的方法 (在UI线程中执行)只能被 publishProgress 调用
嘿嘿,新手难免有错,如果大神看到帮忙指点一下哟