AsyncTask 异步任务
来源:互联网 发布:linux中的samba下载 编辑:程序博客网 时间:2024/05/21 12:42
AsyncTask 封装了新建子线程用于做耗时操作,并提供了子线程与UI线程的信息互动的方法;
使用方法:
- 创建一个类MyAsyncTask 继承于AsyncTask,并重写四个重要的方法;
//AsyncTask<Params,Progress,Result>是带泛型的类,Param为要传入AsyncTask的参数类型,Progress为任务执行的进度类型,Result是任务需要返回的结果类型,下面案列中,将传入string类型的参数,进度用integer类型值,返回一个Bitmap的类型;public class DownloadAsyncTask extends AsyncTask<String, Integer, Bitmap> { @Override //在UI主线程中调用,主要是用于子线程开始前的准备工作,如UI的准备等 protected void onPreExecute() { progressBar.setVisibility(View.VISIBLE); } @Override //在UI主线程中调用,主要是用于子线程完成任务后的对返回结果的处理逻辑,及UI的变化等 protected void onPostExecute(Bitmap bitmap) { progressBar.setVisibility(View.GONE); imageView.setImageBitmap(bitmap); } @Override //在子线程中完成的任务逻辑,String...params为传入的可变长的String类型的数组 protected Bitmap doInBackground(String... params) { String st0 =params[0]//传入的第一个String参数 for(int i= 0 ;i<10;i++){ publishProgress(i);//可以传入多个指定进度类型的参数 } ...业务逻辑... return bitmap; } @Override //在UI主线程中调用,用于记录子线程完成任务的进度(在doInBackground()方法中调用 publicProgress(object...objects)方法才能触发此方法的调用),当进度值发生变化时,系统会自动在主线程中调用该方法 @Override protected void onProgressUpdate(Integer... values) { int i = values[0];//第一个进度值参数 }/** * 这四个方法的调取顺序和位置:(这些方法是系统自动调用的,不需要我们手动调用) * onPreExecute()(UI主线程中)——> doInBackground()(子线程中)——> onPostExecut()(UI主线程中) * | * publicProgress()(doInBackground()方法中) * | * onProgressUpdate()(UI主线程中)**/
- 在Activity中的方法中调用AsyncTask:
MySyncTask task = new MySyncTask();task.execute(string1)//可传入多个参数,
0 0
- Android异步任务AsyncTask
- AsyncTask异步任务
- 异步任务AsyncTask
- AsyncTask异步任务
- AsyncTask异步任务
- Android--AsyncTask异步任务
- Android AsyncTask异步任务
- 异步任务(AsyncTask)
- Android 异步任务 AsyncTask
- 异步任务(AsyncTask)
- android 异步任务 AsyncTask
- Android AsyncTask 异步任务
- Android AsyncTask异步任务
- AsyncTask异步任务
- AsyncTask异步任务
- AsyncTask异步任务
- 异步任务AsyncTask
- 异步任务AsyncTask
- CodeForces 602 A.Two Bases(水~)
- python学习笔记:2017/4/20-----1
- 使用Spire组件抛出异常The type initializer for 'spr857' threw an exception
- IMWeb小白-卡片作业
- oracle启动报错ORA-01157: cannot identify/lock data file 7
- AsyncTask 异步任务
- linux清理
- [牛客]词语变形练习题
- pthread是什么
- 投简历到底应该“高攀”还是“低嫁”?
- 软件测试自学指南---从入门到精通V2.0
- python学习3——字符串、列表
- Java Web 获取客户端真实IP
- 学习笔记——java中重写和重载的在实际开发的应用场景