从网络上获取图片是一个比较耗时的操作,放在主线程会导致阻塞主线程,响应超时,所以我们不能把它放在主线程里操作,必须放在一个子线程里,我打算采用两种方式去实现。1、采用thread去获取图片,获取到后通过handle把消息发送到与主线程绑定的消息队列中(也就是主线程的loop)。2、采用AsyncTask方式,也称异步任务,这个类其实把子线程和handle的处理方式进行了封装,建议开发者多用异步任务来处理,但是对thread和handle的原理一定要搞清楚。
效果图如下:
public class MainActivity extends Activity {private Button button;private ImageView imageView;private ProgressBar progressBar;private MyHandle handle;private final static int CODE =1;private final static String URL = "http://pic10.nipic.com/20101016/5311590_15242800