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

Android必学-AsyncTask基础

eclipse_xu 移动开发工程师
难度中级
时长49分
  • android:visibility属性设置组件是否可见,对应的方法为setVisibility(int)。
    查看全部
    0 采集 收起 来源:AsyncTask创建UI

    2016-02-23

  • 子类的回调方法
    查看全部
  • 构建AsyncTask子类的参数
    查看全部
  • AsyncTask的参数 AsynacTask<Params,Progress,Result> 是一个抽象类,通常用于被继承,继承AsyncTask需要三个泛型参数 Params:启动任务时输入参数的类型 Progress:后台任务执行中返回进度值的类型 Result:后天任务完成后返回结果的类型 注意:参数不一定要使用 public class MyTask extends AsynacTask <void,void,void>{ 在继承AsynacTask时要重写回调方法(doInBackground方法必写) }
    查看全部
  • AsyncTask 为什么要使用异步任务? Android单线程模型,耗时操作放在非主线成中执行 AsyncTask为何而生 可以在子线程中更新UI,封装简化异步操作
    查看全部
    0 采集 收起 来源:AsyncTask概述

    2016-02-18

  • doInBackground
    查看全部
    0 采集 收起 来源:与UI线程通信

    2016-02-18

  • doInBackground中的代码
    查看全部
    0 采集 收起 来源:创建AsyncTask类

    2016-02-18

  • dobround中取消任务
    查看全部
  • 取消AsyncTask 方法
    查看全部
  • Ps【重点】:AsyncTask中,只有doInBackground方法是在其他线程中运行,而其他的重写方法都是在主线程中运行。(意味着:UI操作不能在非主线程中更新) 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
    0 采集 收起 来源:总结

    2016-08-26

  • AsyncTask模拟进度条 public class ProgressBarTest extends Activity { private ProgressBar pb; private MyAsyncTask mTask; @Override protected void onPause() { super.onPause(); if(mTask!=null&&mTask.getStatus()==AsyncTask.Status.RUNNING){ //cancel方法只是将对应的AsyncTask标记为cancel状态,并不是真正地取消线程的执行。 mTask.cancel(true); } } @Override protected void onCreate(...) { ... mTask=new MyAsyncTask(); mTask.execute(); } class MyAsyncTask extends AsyncTask<Void, Integer, Void>{ @Override protected Void doInBackground(Void... params) { // 模拟进度更新 for (int i = 0; i < 100; i++) { if(mTask.isCancelled()){ break; } publishProgress(i); try { Thread.sleep(300); } catch (InterruptedException e) { ... } } return null; } @Override protected void onProgressUpdate(Integer... values) { super....; if(mTask.isCancelled()){//个人认为可以不用加,根本执行不到 return; } //获取进度更新值 pb.setProgress(values[0]); } } }
    查看全部
  • AsyncTask主要要点
    查看全部
    0 采集 收起 来源:总结

    2016-02-16

  • asynctask类中方法执行顺序<br> onPreExecute->doInBackground->onPregressUpdate(在doInBackground方法中调用publishProgress方法时执行)->onPostExecute
    查看全部
  • AsyncTask案例 II @Override protected Bitmap doInBackground(String... params) { // 获取传递进来的参数 String url = params[0]; Bitmap bp = null; URLConnection connection;// 定义网络连接对象 InputStream is;// 用于获取数据的输入流 try { connection = new URL(url).openConnection();// 获取网络连接对象 is = connection.getInputStream();// 获取输入流 BufferedInputStream bis = new BufferedInputStream(is); bp = BitmapFactory.decodeStream(bis);// 将输入流解析成Bitmap is.close(); bis.close(); } catch {... } //将Bitmap作为返回值 return bp; } } } //另类 <Button ... android:onClick="loadImage" ></Button> //另类 public class MainActivity extends Activity { public void loadImage(View v){ startActivity(new Intent(this,ImageTest.class)); } } 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
    0 采集 收起 来源:与UI线程通信

    2018-03-22

  • AsyncTask案例 I <uses-permission android:name="android.permission.INTERNET"></uses> //另类 public class ImageTest extends Activity { private ImageView image; private ProgressBar pb; private static String URL = "http://....png"; @Override protected void onCreate(...) { ... setContentView(R.layout.image); image = (ImageView) findViewById(R.id.image); pb = (ProgressBar) findViewById(R.id.progressbar); //设置传递进去的参数 new MyAsyncTask().execute(URL); } class MyAsyncTask extends AsyncTask<String, Void, Bitmap> { @Override protected void onPreExecute() { super.onPreExecute(); pb.setVisibility(View.VISIBLE); } @Override protected void onPostExecute(Bitmap bitmap) { super.onPostExecute(bitmap); pb.setVisibility(View.GONE); image.setImageBitmap(bitmap); } 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
    1 采集 收起 来源:与UI线程通信

    2018-03-22

举报

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

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