`
TonySun3544
  • 浏览: 159971 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android AsyncTas开发

阅读更多

 

AndroidAsyncTaskHandler更轻量级一些,适用于简单的异步处理。

Android开发中AsyncTask实现异步处理任务的方法,AndroidAsyncTask的用法实例,Android AsyncTask的使用。

 

首先明确Android之所以有HandlerAsyncTask,都是为了不阻塞主线程(UI线程),且UI的更新只能在主线程中完成,因此异步处理是不可避免的。

 

Android 1.5提供了一个工具类:AsyncTask,它使创建需要与用户界面交互的长时间运行的任务变得更简单。不需要借助线程和Handler即可实现。

 

AsyncTask 的优势体现在:

•线程的开销较大,如果每个任务都要创建一个线程,那么应用程序的效率要低很多;

•线程无法管理,匿名线程创建并启动后就不受程序的控制了,如果有很多个请求发送,那么就会启动非常多的线程,系统将不堪重负。

•另外,前面已经看到,在新线程中更新UI还必须要引入handler,这让代码看上去非常臃肿。

 

AsyncTask定义了三种泛型类型 ParamsProgressResult

Params 启动任务执行的输入参数,比如HTTP请求的URL

Progress 后台任务执行的百分比。

Result 后台执行任务最终返回的结果,比如String

 

AsyncTask的执行分为四个步骤,每一步都对应一个回调方法,开发者需要实现一个或几个方法。在任务的执行过程中,这些方法被自动调用。

onPreExecute(), 该方法将在执行实际的后台操作前被UI thread调用。可以在该方法中做一些准备工作,如在界面上显示一个进度条。

doInBackground(Params...), 将在onPreExecute 方法执行后马上执行,该方法运行在后台线程中。这里将主要负责执行那些很耗时的后台计算工作。可以调用 publishProgress方法来更新实时的任务进度。该方法是抽象方法,子类必须实现。

onProgressUpdate(Progress...),publishProgress方法被调用后,UI thread将调用这个方法从而在界面上展示任务的进展情况,例如通过一个进度条进行展示。

onPostExecute(Result), doInBackground 执行完成后,onPostExecute 方法将被UI thread调用,后台的计算结果将通过该方法传递到UI thread.

 

使用AsyncTask类,以下是几条必须遵守的准则:

    1) Task的实例必须在UI thread中创建

    2) execute方法必须在UI thread中调用

    3) 不要手动的调用onPreExecute(), onPostExecute(Result)doInBackground(Params...), onProgressUpdate(Progress...)这几个方法

    4) task只能被执行一次,否则多次调用时将会出现异常

 

 

分享到:
评论

相关推荐

    android应用开发范例精解

    《Android应用开发范例精解》通过通俗易懂的开发实例及项目案例,详细介绍了Android应用开发的知识体系及实用开发技术。 《Android应用开发范例精解》共14章,分为3篇。第1篇为基础篇,涵盖Android背景及开发环境和...

    android开发揭秘PDF

    第1章 Android开发简介 1.1 Android基本概念 1.1.1 Android简介 1.1.2 Android的系统构架 1.1.3 Android应用程序框架 1.2 OMS介绍 1.2.1 OPhone介绍 1.2.2 Widget介绍 1.3 小结 第2章 Android开发环境搭建 2.1 ...

    《Android应用开发详解》源码

    《Android应用开发详解》源码,完整版,值得看一看。 《Android核心技术和开发详解》各章案例的全部源代码,第一章将要介绍的是Android开发起步的相关知识,首先对Android平台进行简单的介绍,其中包括Android的背景...

    黑马程序员——Android移动开发源码

    黑马程序员——Android移动开发源码

    Android应用开发,完整扫描版

    《Android应用开发》通过丰富而翔实的实例展示了在Android平台下开发手机应用软件所必需的概念和技术。书中不仅对Android应用程序的开发环境和调试方法进行了详细介绍,而且对Android软件开发的一些关键技术和API...

    Android应用开发揭秘-pdf(全)

    Android应用开发揭秘-pdf全书,详细介绍Android应用程序的开发流程于相应技术,是一本适合新手入门的好书。

    android网络开发与应用实战详解源码

    《android网络开发与应用实战详解》一书源代码

    Google Android SDK开发范例大全(完整版)1-8.pdf

    Google Android SDK开发范例大全(完整版)1-8.pdf Google Android SDK开发范例大全(完整版)1-8.pdf Google Android SDK开发范例大全(完整版)1-8.pdf Google Android SDK开发范例大全(完整版)1-8.pdf Google Android ...

    《Android应用开发揭秘》附带光盘代码.

    《Android应用开发揭秘》全部实例源代码,配合《Android应用开发揭秘》使用 前言  第一部分 准备篇  第1章 Android开发简介  1.1 Android基本概念  1.1.1 Android简介  1.1.2 Android的系统构架  1.1.3 ...

    老罗android开发视频教程全集百度网盘下载

    Android 是Google开发的基于Linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序—— 移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。 Android以Java为编程语言,使...

    Google Android SDK开发范例大全源码 无解压密码

    主要以范例集的方式来讲述Android的知识点,详细介绍了开发Android的人机交互界面、Android常用的开发控件、使用Android手机收发短信等通信服务、开发Android手机的自动服务功能和娱乐多媒体功能以及整合Android与...

    《Android应用开发揭秘》源码

     杨丰盛,Android应用开发先驱,对Android有深入研究,实战经验极其丰富。精通Java、C、C++等语言,专注于移动通信软件开发,在机顶盒软件开发和MTK平台软件开发方面有非常深厚的积累。2007年获得中国软件行业协会...

    六本不错的android开发英文书籍

    开发书籍].Android.pdf [android.开发书籍].Android_Application_Development_For_Dummies.pdf [android.开发书籍].Beginning.Android.2.(Apress,.2010,.1430226293).pdf [android.开发书籍].Hello.Android.3rd....

    Android项目开发详解,完整扫描版

    《移动平台开发书库:Android项目开发详解》涵盖了Android前端界面开发、Activity java程序的开发以及ASP后台技术开发等内容,强调了Android与后台数据通信技术、XML解析技术、数据存储技术以及与Android前端配套的...

    Google Android SDK开发范例大全 电子书 完整版(上)

    Google Android SDK开发范例大全 开发范例大全 电子书 ebook。 文件较大,分两个部分,这个是第一部分。 第二部分链接:http://download.csdn.net/source/2610293 源代码:http://download.csdn.net/source/2609848

    Android平台开发之旅(第2版).pdf

    《Android平台开发之旅(第2版)》涵盖Android 3/4的新特性,立足实际的开发案例,介绍了Android平台开发的基础概念、实用技术和应用模式。主要内容包括应用程序框架、高级界面、数据库应用、网络通信与Web开发、无线...

    Android 平板电脑应用开发入门经典

    《Android平板电脑应用开发入门经典》向Android新手快速介绍了如何使用Android 3开发平板应用。经验丰富的作者Wei-Meng Lee首先介绍了如何安装必要的工具并编写HelloWorld应用。接下来介绍Android平板应用的各种组件...

    Google Android SDK开发范例大全(第3版).pdf

    全书共分11章,主要以范例集的方式来讲述Android的知识点,详细介绍了开发Android的人机交互界面、Android常用的开发控件、Android手机收发短信等通信服务、开发Android手机的自动服务功能和娱乐多媒体功能以及整合...

    Google Android SDK开发范例大全(第3版)

    《Google Android SDK开发范例大全(第3版)》在上一版的基础上,以Android手机应用程序开发(采用Android SDK 2.3.3)为主题,超过200多个范例全面且深度地整合了手机、网络及服务等多个开发领域,为读者提高程序设计...

Global site tag (gtag.js) - Google Analytics