-
AsyncTask查看全部
-
AsyncTask子类回调方法查看全部
-
AsyncTask子类可以实现的方法查看全部
-
AsyncTask查看全部
-
AsyncTask查看全部
-
1查看全部
-
构建AsyncTask子类的参数 AsyncTask<Params,Progress,Result>是一个抽象类,通常用于被继承,继承AsyncTask需要指定如下三个泛型参数: Params:启动任务时输入参数的类型。 Progress:后台任务执行中返回进度值的类型。 Result:后台执行任务完成后返回结果的类型查看全部
-
AsyncTask的作用:一,可以更新UI.二,可以封装,简化异步操作查看全部
-
“AsyncTask”使用总结 1. 自定义一个类(MyAsyncTask)继承自AsyncTask类,需要给AsyncTask传入三个泛型,三个分别代表。 1.1 Params 执行线程时(asyncTask.execute(params))传入的参数类型。 1.2 Progress 更新进度时(publishProgress(prograss)) 传入的参数类型。 1.3 Result doInbackground(线程)执行结束后的返回值,传给onPostExecute(result) 的参数类型。 2.实现抽象方法。和一些其他的方法。主要为4个 2.1 onPreExecute 在线程执行之前执行(UI线程执行) 2.2 doInBackground 线程写在该方法中(这个方法中的内容是真正在线程中执行的,而不是在主线程中执行的,所以不能操作UI) 2.3 onPostExecute 线程执行之后执行。(这个方法是线程之后执行的,由主线程执行,用于操作UI) 2.4 onProgressUpdate 当使用publishProgress方法时,会调用该方法。操作UI来更新进度。 3.实例化AsyncTask,调用asyncTask.exeucte(参数)。来执行线程查看全部
-
“AsyncTask”线程取消。 1.Activity开启的线程并不是和Activity绑定的。当Activity结束掉之后,并不会结束其开启的线程。 2.当前Activity开启的线程,需要等之前线程运行结束后才能开始运行。 3.可以使用cancel(true)//方法,设置线程状态为取消(但是这个只是设置状态,并不是真正的将线程停止) 4.可以在doInbackground方法中,判断线程的状态,如果线程的状态为取消。就停止该线程。(使用该方法,将Activity和线程绑定)查看全部
-
“AsyncTask”中,onProgressUpdate()的应用。 作用:更新异步任务的进度。(比如,在加载图片未完成之前,显示一个进度条,来给用户观看。) 实例:模拟更新进度条 1.自定义类继承AsnycTask类,将第二个泛型参数设置为Integer型。 2.在doInBackground方法中,调用publishUpdate,传入一个Integer数值类型进去。作为当前进度。 protected Bitmap doInBackground(String... params) { for(int i=0;i<100;i++) { try { Thread.sleep(100); publishProgress(i); } catch (InterruptedException e) { e.printStackTrace(); } } } 3. 系统会自动调用onProgressUpdate(Integer... values),并将publishProgress传入的值传到这个参数里,使用values[]数组,即可提取出传入的值。 progressBar.setProgress(values[0]);//查看全部
-
使用“AsyncTask”类“异步加载图片” 1. 在Activity中自定义“内部类”AsynckTask(因为要访问Activity获取到的资源) 1.1 三个类型分别为,String(用来传URL),Void(暂时不考虑进度条),Bitmap(用来返回图片) 2.实现必要的几个方法 3.在doInBackground方法中,执行异步的从网络获取图片任务 protected Bitmap doInBackground(String... params) { String urlStr = params[0]; //将传递过来的url字符串提取出来。 URLConnection urlConnection = null; InputStream inputStream = null; Bitmap bitmap = null; try { urlConnection = new URL(urlStr).openConnection();//获取Url连接。 inputStream = urlConnection.getInputStream();//从链接中获取图片数据流 bitmap = BitmapFactory.decodeStream(inputStream);//将图片数据流转化为Bitmap对象 } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { try { inputStream.close(); } catch (IOException e) { e.printStackTrace(); } } return bitmap; } 4.在onPostExeucte(Bitmap result)方法中更新UI imageView.setVisibility(View.VISIBLE); imageView.setImageBitmap(result);查看全部
-
“AsyncTask”使用总结 1. 自定义一个类(MyAsyncTask)继承自AsyncTask类,需要给AsyncTask传入三个泛型,三个分别代表。 1.1 Params 执行线程时(asyncTask.execute(params))传入的参数类型。 1.2 Progress 更新进度时(publishProgress(prograss)) 传入的参数类型。 1.3 Result doInbackground(线程)执行结束后的返回值,传给onPostExecute(result) 的参数类型。 2.实现抽象方法。和一些其他的方法。主要为4个 2.1 onPreExecute 在线程执行之前执行(UI线程执行) 2.2 doInBackground 线程写在该方法中(这个方法中的内容是真正在线程中执行的,而不是在主线程中执行的,所以不能操作UI) 2.3 onPostExecute 线程执行之后执行。(这个方法是线程之后执行的,由主线程执行,用于操作UI) 2.4 onProgressUpdate 当使用publishProgress方法时,会调用该方法。操作UI来更新进度。 3.实例化AsyncTask,调用asyncTask.exeucte(参数)。来执行线程查看全部
-
构建AsyncTask子类的回调方法查看全部
-
异步任务-AsyncTask 前瞻查看全部
举报
0/150
提交
取消