网络操作是一个严重的耗时操作,所以从Android 4.0版本开始,网络操作就被严禁放在主线程中,所以网络操作只能放在异步任务中。
下面是一个从网络上下载图片的示例,示例分为两个部分:
- 异步处理下载图片
- UI线程中处理图片
下载的图片是在百度图片里面随便找的:http://img1.ph.126.net/GPS04o8gJYuG4ZOwlx6UQA==/978125544087835399.jpg
首先是Layout布局,这个比较简单,只需要一个ImageView显示图片和一个progressBar以查看是否下载完成,代码如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/RelativeLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="14dp"
tools:context="com.asynctasktest.MainActivity" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="fill_parent"