异步任务AsyncTask的使用方法

本文介绍了Android开发中常用的异步任务类AsyncTask的使用方法,包括其泛型参数、主要方法如doInBackground、onPreExecute、onPostExecute、publishProgress和onProgressUpdate的用途。以下载APP为例,详细阐述了如何在doInBackground中执行网络请求并更新进度,以及在Android 6.0后如何处理权限问题。最后展示了实现的下载进度条效果。
摘要由CSDN通过智能技术生成

异步任务AsyncTask的使用率在android开发中非常广,是thread和handler的包装类。本人也是在学习android的路上,今天学习了AsyncTask,想写个小例子来记住今天学习的内容。

先来看看AsynTask类的泛型,泛型里面有3个参数,第一个传入数据的数据类型,第二个是更新数据的数据类型,第三个是异步线程传出数据的数据类型。

AsynTask类必须要重写的方法是doInBackground()方法,执行异步线程,耗时操作就在里面完成.

还有一些主要用到的方法:

1.onPreExecute()方法:耗时操作进行前执行的方法,在主线程中进行,用于UI界面的更新。

2.onPostExecute()方法:耗时任务完成后执行的方法,在主线程中进行,用于UI界面的更新。

3.publishProgress()方法:用于耗时操作中,更新数据的传出。

4.onProgressUpdate()方法:用于更新数据,接收从publishProgress()方法传来的数据,在主线程中进行,通知UI界面 进行更新。

5.cancel()方法:用于结束耗时操作。

以下载APP为例,实现异步任务,并实时更新数据。

首先简单的下载布局

<?xml version="1.0" encoding="utf-8"?>  
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    xmlns:app="http://schemas.android.com/apk/res-auto"  
    xmlns:tools="http://schemas.android.com/tools"  
    android:layout_width="match_parent"  
    android:layout_height="match_parent"  
    android:orientation="vertical"  
    tools:context="com.example.administrator.five_two_three.Main2Activity">  

    <ProgressBar  
        style="?android:attr/progressBarStyleHorizontal"  
        android:id="@+id/progressbar"  
        android:layout_marginTop="20dp"  
        android:layout_width="match_parent"  
        android:layout_height="15dp"  
        android:progress="0"  
        android:background=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值