- 浏览: 25638 次
- 性别:
- 来自: 北京
最新评论
大家好,上一讲我们介绍了Handler-不可缺少的异步,这一讲我们将进入AFF110606_AsyncTask异步任务.
更多Android深入浅出课程列表:http://www.eoeandroid.com/thread-109361-1-1.html
一、课程目标:了解AsyncTask类 以及此类的实现 。 明了它与Handler谁更轻量级如何使用AsyncTask .
二、重点难点:AsyncTask与线程及线程池的关系如何分析进程的内存占用?
三、考核目标:AsyncTask是多线程么?与Handler相比, AsyncTask消耗资源情况如何,为什么?
四、课后练习:写一个使用AsyncTask 从网络更新显示图片的例子(参照Demo)
&AsyncTask的定义
AsyncTask enables proper and easy use of the UI thread. This class allows to perform background operations and publish results on the UI thread without having to manipulate threads and/or handlers.
An asynchronous task is defined by a computation that runs on a background thread and whose result is published on the UI thread. An asynchronous task is defined by 3 generic types, called Params, Progress and Result, and 4 steps, called onPreExecute, doInBackground, onProgressUpdate and onPostExecute
Android为了降低异步操作开发难度,在Handler基础上提供了AsyncTask。AsyncTask就是一个封装过的后台任务类,顾名思义就是异步任务。
&演示AsyncTask用法:Demo
AsyncTask定义了三种泛型类型 Params,Progress和Result。
Params 启动任务执行的输入参数,比如HTTP请求的URL。
Progress 后台任务执行的百分比。
Result 后台执行任务最终返回的结果,比如String。
AsyncTask方法 必选方法:
doInBackground(Params…) 后台执行,比较耗时的操作都可以放在这里。注意这里不能直接操作UI。此方法在后台线程执行,完成任务的主要工作,通常需要较长的时间。在执行过程中可以调用publicProgress(Progress…)来更新任务的进度。
onPostExecute(Result) 相当于Handler 处理UI的方式,在这里面可以使用在doInBackground 得到的结果处理操作UI。 此方法在主线程执行,任务执行的结果作为此方法的参数返回可选方法:
onProgressUpdate(Progress…) 可以使用进度条增加用户体验度。 此方法在主线程执行,用于显示任务执行的进度。
onPreExecute() 这里是最终用户调用Excute时的接口,当任务执行之前开始调用此方法,可以在这里显示进度对话框。
onCancelled() 用户调用取消时,要做的操作
AsyncTask三个状态:pending , running , finished
使用AsyncTask类,遵守的准则:
Task的实例必须在UI thread中创建;
execute方法必须在UI thread中调用;
不要手动的调用onPreExecute(), onPostExecute(Result),doInBackground(Params...), onProgressUpdate(Progress...)这几个方法;
该task只能被执行一次,否则多次调用时将会出现异常;
本讲对Dalvik虚拟机概述介绍,下一讲将进入AsyncTask异步任务,内容预告:Android开发视频教程-深入浅出系列Lesson17-SPI110725_在Android2.2以上实现MobileWidget,敬请期待。
特别推荐新课程:Android开发高端课程
http://www.mobidever.com/forum.php?mod=viewthread&tid=2098
本课视频地址:http://v.youku.com/v_show/id_XMzI4MDg4NzQ4.html
课程下载地址:http://www.verycd.com/topics/2900036/ (VeryCD电驴)
网址:http://www.mobidever.com/forum.php (Mobidever-Android开发联盟)
更多Android深入浅出课程列表:http://www.eoeandroid.com/thread-109361-1-1.html
一、课程目标:了解AsyncTask类 以及此类的实现 。 明了它与Handler谁更轻量级如何使用AsyncTask .
二、重点难点:AsyncTask与线程及线程池的关系如何分析进程的内存占用?
三、考核目标:AsyncTask是多线程么?与Handler相比, AsyncTask消耗资源情况如何,为什么?
四、课后练习:写一个使用AsyncTask 从网络更新显示图片的例子(参照Demo)
&AsyncTask的定义
AsyncTask enables proper and easy use of the UI thread. This class allows to perform background operations and publish results on the UI thread without having to manipulate threads and/or handlers.
An asynchronous task is defined by a computation that runs on a background thread and whose result is published on the UI thread. An asynchronous task is defined by 3 generic types, called Params, Progress and Result, and 4 steps, called onPreExecute, doInBackground, onProgressUpdate and onPostExecute
Android为了降低异步操作开发难度,在Handler基础上提供了AsyncTask。AsyncTask就是一个封装过的后台任务类,顾名思义就是异步任务。
&演示AsyncTask用法:Demo
AsyncTask定义了三种泛型类型 Params,Progress和Result。
Params 启动任务执行的输入参数,比如HTTP请求的URL。
Progress 后台任务执行的百分比。
Result 后台执行任务最终返回的结果,比如String。
AsyncTask方法 必选方法:
doInBackground(Params…) 后台执行,比较耗时的操作都可以放在这里。注意这里不能直接操作UI。此方法在后台线程执行,完成任务的主要工作,通常需要较长的时间。在执行过程中可以调用publicProgress(Progress…)来更新任务的进度。
onPostExecute(Result) 相当于Handler 处理UI的方式,在这里面可以使用在doInBackground 得到的结果处理操作UI。 此方法在主线程执行,任务执行的结果作为此方法的参数返回可选方法:
onProgressUpdate(Progress…) 可以使用进度条增加用户体验度。 此方法在主线程执行,用于显示任务执行的进度。
onPreExecute() 这里是最终用户调用Excute时的接口,当任务执行之前开始调用此方法,可以在这里显示进度对话框。
onCancelled() 用户调用取消时,要做的操作
AsyncTask三个状态:pending , running , finished
使用AsyncTask类,遵守的准则:
Task的实例必须在UI thread中创建;
execute方法必须在UI thread中调用;
不要手动的调用onPreExecute(), onPostExecute(Result),doInBackground(Params...), onProgressUpdate(Progress...)这几个方法;
该task只能被执行一次,否则多次调用时将会出现异常;
本讲对Dalvik虚拟机概述介绍,下一讲将进入AsyncTask异步任务,内容预告:Android开发视频教程-深入浅出系列Lesson17-SPI110725_在Android2.2以上实现MobileWidget,敬请期待。
特别推荐新课程:Android开发高端课程
http://www.mobidever.com/forum.php?mod=viewthread&tid=2098
本课视频地址:http://v.youku.com/v_show/id_XMzI4MDg4NzQ4.html
课程下载地址:http://www.verycd.com/topics/2900036/ (VeryCD电驴)
网址:http://www.mobidever.com/forum.php (Mobidever-Android开发联盟)
发表评论
-
《2012Sundy高级课程更新》Android深入浅出系列课程文章列表
2012-03-15 10:25 1720既然是一个系列的教程 ... -
Android开发视频教程-深入浅出系列Lesson20-AFF111029学习Android界面开发的基础
2012-03-19 09:37 1614课程目标: 学习和掌握Android界面开发学习方法 了解An ... -
Android开发视频教程-深入浅出系列Lesson19-AFF110727_蓝牙编程入门
2012-03-19 09:38 1809课程目标 知道蓝牙是什么,能够做什么,知道常用蓝牙的API ... -
Android开发视频教程-深入浅出系列Lesson18-SPI110723_Mobile.Widget概述
2012-03-16 09:39 893· 课程目标: 知道Mobile Widget概念 , 知道其 ... -
Android深入浅出系列课程---Lesson17-在Android2.2以上实现MobileWidget
2012-03-16 09:36 1057大家好,上一讲我们介绍了虚拟机概述,JIT概述,这一讲我们将进 ... -
Android深入浅出系列课程---Lesson15LLY110602_Dalvik虚拟机概述
2012-03-16 09:35 1134更多Android深入浅出课程列表:http://www.eo ... -
Android深入浅出系列课程---Lesson14Handler-不可缺少的异步
2012-03-16 09:33 928大家好,上一讲我们介 ... -
Android深入浅出系列课程---Lesson13 LLY110529_虚拟机概述,JIT概述
2012-03-15 10:43 913大家好,上一讲我们介绍了Android.Framework源码 ... -
Android深入浅出系列课程---Lesson12 AFF110525_Android多线程系统概要
2012-03-15 10:42 1024大家好,上一讲我们介绍了Android.Framework源码 ... -
Android深入浅出系列课程--Lesson11 Android.Framework源码下载及编译
2012-03-15 10:29 2199大家好,上一讲我们介 ... -
Android深入浅出系列课程---Lesson10 SHW110518_关于课程顺序的说明
2012-03-15 10:28 856大家好,上一讲我们介绍了ActivityWindowView的 ... -
Android深入浅出系列课程---Lesson9 AAF110430_ActivityWindowView的关系
2012-03-14 10:39 1035更多Android深入浅出课程列表:http://www.eo ... -
Android深入浅出系列课程---Lesson8 Android应用程序启动
2012-03-14 10:37 1129特别推荐新课程:Android ... -
Android深入浅出系列课程---Lesson7 LLY110426_Android系统启动
2012-03-14 10:35 734大家好,上一讲我们介绍了Activity状态保存,这一讲我们将 ... -
Android深入浅出系列课程---Lesson6 AAF110503_Activity状态保存
2012-03-14 10:32 869大家好,上一讲我们介绍了Android中Activity是什么 ... -
Android深入浅出系列课程---Lesson5 AAF110502_Activity是什么
2012-03-14 10:28 839大家好,上一讲我们介绍了Manifest文件的使用,这一讲我们 ... -
Android深入浅出系列课程---Lesson4-AAF110429_介绍Manifest文件的使用
2012-03-13 13:33 976大家好,上一讲我们介绍了进程生命周期(Process Life ... -
Android深入浅出系列课程---Lesson3 AAF110427_进程生命周期Process Lifecycle
2012-03-13 13:15 949大家好,上一讲我们介 ... -
Android深入浅出系列课程---Lesson2 AAF110426_Log打开android大门
2012-03-13 13:12 906大家好,上一讲对Android中Context的介绍,这一讲将 ... -
Android深入浅出系列课程---Lesson1 AAF110430_android中context介绍
2012-03-13 13:06 812大家好,这一讲我们来介绍下Android中Context 一、 ...
相关推荐
Image from vsolution epon v2801 firmware
92b4aff5f2254284c8074cdfb01f66ac.zip
AFF A200 - Replacing DIMMs.pdf
windows环境下的gdcm python包,官网上的exe程序包,建议也要安装一下。 建议用Anaconda 进行安装
AFF A300 - Swapping out a power supply.pdf
AFF A200 - Swapping out a power supply.pdf
Xshell6 + Xftp + Xlpd 三合一工具类集合,过期后,卸载重装又可再次使用,亲测可用。
AFF A800 - Replacing the chassis.pdf
TX2的pytorch安装使用 sudo pip3 install 文件名,即可。wget这个文件的网址,无法下载,特地放上来请大家食用。
基于AD9850的信号发生器的设计与实现-3e8191126edb6f1aff001fb6
RTL8188CUS_Combo_AFFC RTL8188CUS_Solo RTL8188CUS_VL RTL8188CUS_solo_AFF7 RTL8188CUS_solo_AFF9 RTL8188CUS_solo_AFFA RTL8188RU RTL8188RU_Netcore RTL8192CU RTL8192CU_8177 ...
2048的matlab源代码AFF3CT:快进错误校正工具箱! AFF3CT是专用于前向纠错(FEC或信道编码)的模拟器和库。 它是用C ++编写的,并且支持多种代码:从广泛使用的Turbo代码到新的Polar代码,包括低密度奇偶校验(LDPC...
升级Win10后开机蓝屏报错尝试解决办法.pdf升级Win10后开机蓝屏报错尝试解决办法.pdf升级Win10后开机蓝屏报错尝试解决办法.pdf升级Win10后开机蓝屏报错尝试解决办法.pdf升级Win10后开机蓝屏报错尝试解决办法.pdf升级...
AFF C190 - Replacing the controller module.pdf
ASP NET Web程序设计试题二及答案-8cd07a210408763231126edb6f1aff00bfd57007.docx
AFF A220 and FAS2700 - Installing and setting up.pdf
AFF A300 - Replacing DIMMs.pdf
8A353C41 872A0D5C DF9B2950 AFF6F667 C458EA6D 8EA3C286 98D1D650 131A97AB AA919AEC EF20E143 B361B1E7 4C8B7F04 B085E65E 2F5F5360 8489D422 FB8FC1AA 93F6323C FD7F7544 3F39C318 D95E6480 FCCC7561 8A4A1741 68...
离线安装包,亲测可用
能修复一般蓝的问题 可以试试