该案例是从网络下载一张图片
1.异常1
该异常的意思是不能在主线程里使用Network(网络)。所以需要单独开启一个线程操作。
2.异常2
该异常的意思是子线程中不可以修改主线程中的UI。所以线程之间只能有消息参数传递,而不能直接操作其他线程中的元素。
这里需要使用到一个Handler对象,并重构它的handleMessage(Message msg)方法
用于接收下载线程发来的消息。
在下载线程中,当连接成功后[即获得200响应后],通过响应对象获取响应对象封装的一个实体,然后获取该实体的具体内容【该内容是流形式的】,然后再封装成自己需要的对象,该例中下载的是图片,所以将该流转成图片对象。然后再将图片对象和下载状态以消息形式封装,通过Handler对象发送回主线程。主线程的handleMessage(Message msg)获取到Message对象,然后再将它拆开获取当中的图片信息,再将图片设置到ImageView中。
XML配置