为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
Android必学-AsyncTask基础_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

Android必学-AsyncTask基础

eclipse_xu 移动开发工程师
难度中级
时长49分
  • AsyncTask异步任务的三个参数
    查看全部
  • 老师,url还可以用吗
    查看全部
    0 采集 收起 来源:与UI线程通信

    2015-07-29

  • doInBackground:异步执行的后台线程操作,耗时操作放在这个函数里执行; onProgressUpdate:通过它可以知道当前的后台执行进度。它把进度结果返回给publishProgress()方法以显示。
    查看全部
  • AsyncTask抽象类中的三个泛型参数含义:
    查看全部
  • 注意事项。 doInBackground()方法运行在非主线程,其他三个方法运行在主线程,所以可以在doInBackground做异步操作,在其他三个方法中更新UI。 正是因为有了onProgressUpdate()和onPostExcute()方法,才可以在异步处理的过程中更新UI。
    查看全部
    0 采集 收起 来源:总结

    2015-07-28

  • Async Task子类的回调方法。 doInBackground onPreExecute onPostExecute onProgressUpdate
    查看全部
  • AsyncTask子类的回调方法
    查看全部
  • AsyncTask子类的回调方法
    查看全部
  • 老师讲的逻辑很清楚,我觉得这部视频教程首先过一遍然后把所有案例全部理解过一遍 基本上就可以出山了
    查看全部
    0 采集 收起 来源:与UI线程通信

    2015-07-22

  • 目标任务
    查看全部
    0 采集 收起 来源:AsyncTask创建UI

    2015-07-21

  • 异步任务的几个方法
    查看全部
  • 异步任务的三个参数
    查看全部
  • AsyncTask的注意事项 还有一个: doInBackground()方法运行在非主线程,其他三个方法运行在主线程,所以可以在doInBackground做异步操作,在其他三个方法中更新UI。 正是因为有了onProgressUpdate()和onPostExcute()方法,才可以在异步处理的过程中更新UI。
    查看全部
    0 采集 收起 来源:总结

    2015-07-14

  • 异步任务——AsyncTask 4. 进度的实时更新 在doInBackground()方法中调用publishProgress()方法可以将我们处理任务的进度反馈处理。 protected Void doInBackground(Void... params) { for (int i = 0; i<100; i++) { publishProgress(i); try { Thread.sleep(300); } catch (InterruptedException e) { e.printStackTrace(); } } return null; } 注意,由于在AsyncTask中,只有doInBackground()方法是工作在子线程中的,所以我们可以放心地在onProgressUpdate()方法中更新UI。 5. 取消一个AsyncTask 使用AsyncTask创建线程执行任务的时候,我们需要使得创建的线程的生命周期和我们Activity的生命周期一致。 即,当我们的Activity不可见的时候,我们需要及时“取消”我们AsyncTask中正在执行还没有执行完的任务,这样,等下次Activity出现的时候,我们才能给用户开始执行新任务的体验。否则,我们后台需要执行完上次的任务才能执行新的任务,这样会给我们用户一个“长时间等待无响应”的感觉。 通过调用mAsyncTask.cancel()方法可以取消AsyncTask的执行,但是注意这只是发送了一个cancel的请求,将对应的AsyncTask标记为cancel状态,并没有将其停止掉。 需要在doInBackground()方法中持续判断这个标记位 protected Void doInBackground(Void... params) { for (int i = 0; i<100; i++) { publishProgress(i); if(isCancelled()) break; } return null; }
    查看全部
  • 异步任务——AsyncTask 获取一个网络图片 1. doInBackground()方法 protected Bitmap doInBackground(String... params) { //获取传递进来的参数 String url = params[0]; Bitmap bitmap = null; URLConnection connection; InputStream is; try { connection = new URL(url).openConnection(); is = connection.getInputStream(); BufferedInputStream stream = new BufferedInputStream(is); //通过decodeStream解析输入流,转换成Bitmap对象 bitmap = BitmapFactory.decodeStream(stream); is.close(); stream.close(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } //返回bitmap return bitmap; } 2. 重写onPreExecute()、onPostExcute() 在onPreExecute()中做一些初始化操作 protected void onPreExecute() { super.onPreExecute(); mProgressBar.setVisibility(View.VISIBLE); } onPostExcute()方法中做一些后续操作 protected void onPostExecute(Bitmap result) { super.onPostExecute(result); mProgressBar.setVisibility(View.GONE); mImageView.setImageBitmap(result); } 3. 在主线程中调用new MyAsyncTask().execute(URL)开启一个异步任务
    查看全部
    0 采集 收起 来源:与UI线程通信

    2015-07-13

举报

0/150
提交
取消
课程须知
本课程是Android初级课程 1、掌握基本的Android应用程序开发方法 2、掌握AsyncTask中个方法中参数的意义 3、掌握AsyncTask中4个常用的方法
老师告诉你能学到什么?
1、了解Android的单线程模型 2、 AsyncTask的基本构成 3、 AsyncTask的回调方法 4、 AsyncTask实例
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!