public class MainActivity extends AppCompatActivity {
private ImageView iv_img;
private byte[] pics;
private MyHandler handler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
handler=new MyHandler(this);
initView();
}
private void initView() {
iv_img = findViewById(R.id.iv_img);
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try {
URL urL = new URL("https://www.baidu.com/img/superlogo_c4d7df0a003d3db9b65e9ef0fe6da1ec.png");
HttpURLConnection httpURLConnection = (HttpURLConnection) urL.openConnection();
httpURLConnection.setRequestMethod("GET");
httpURLConnection.setReadTimeout(10000);
if (httpURLConnection.getResponseCode() == 200) {
InputStream inputStream = httpURLConnection.getInputStream();
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] bytes = new byte[1024];
int length = -1;
while ((length = inputStream.read(bytes)) != -1) {
bos.write(bytes, 0, length);
}
pics = bos.toByteArray();
bos.close();
inputStream.close();
Message message = new Message();
message.what = 0;
handler.sendMessage(message);
}
} catch (Exception e) {
e.printStackTrace();
}
}
});
thread.start();
}
private static class MyHandler extends Handler{
private WeakReference<MainActivity> weakReference;
MyHandler(MainActivity activity) {
weakReference=new WeakReference<MainActivity>(activity);
}
@Override
public void handleMessage(Message msg) {
MainActivity activity=weakReference.get();
if (activity!=null){
//handle the message below
switch (msg.what){
case 0:
Bitmap bitmap= BitmapFactory.decodeByteArray(activity.pics,0,activity.pics.length);
activity.iv_img.setImageBitmap(bitmap);
break;
}
}
}
}
}
HttpUrlConnection用字节下载图片,用Bitmap放入ImageView
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 在Android开发中,我们经常会遇到很多的背景透明,只有线条的图片!如下 同时我们还需要他们被选中或者符合当前级...
- 每年到这个时候,身边就会有很多人开始咳嗽、咳痰、流鼻涕、打喷嚏的,有些是感冒、有些是哮喘、有些是气管炎,有些的鼻炎...
- 在很多应用中我们都可以看到图片轮播器 下来我将使用两个imageView实现图片的轮播,也是目前我用到最简单的方法...
- -1- 人生就是一个不断制造问题和解决问题的过程,有些问题我们可以迅速解决,而更多的问题则穷极一生都没有找到一丝头...