补充

使用Glide框架只要一行代码就可以搞定图片的显示,功能更强大。都2022年了,有好用的框架那必须要用啊。Glide框架使用请移步至郭霖大神的博客:
https://blog.csdn.net/guolin_blog/article/details/53759439

前言

Android 4.0 以后的版本,UI线程不允许有耗时操作,所以请求网络图片需要运行在子线程;

加载图片的代码参考:
https://zhidao.baidu.com/question/537762079.html

效果图

(待补充)

图片链接:

https://img-home.csdnimg.cn/images/20201124032511.png

示例图片:

布局文件

MainActivity.xml

<LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"><ImageViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/img1"/></LinearLayout>

整体思路

第一步:
在UI线程定义 网络图片链接;
第二步:
新建子线程请求图片,请求结果为bitmap;
第三步:
在UI线程将图片加载出来;

MainActivity.java

public class MainActivity extends Activity {private ImageView imageView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);imageView = findViewById(R.id.img1);URL url = null;try {url = new URL("https://img-home.csdnimg.cn/images/20201124032511.png");requestImg(url);} catch (Exception e) {e.printStackTrace();}}private void requestImg(final URL imgUrl){new Thread(new Runnable() {@Overridepublic void run() {Bitmap bitmap = null;try {bitmap = BitmapFactory.decodeStream(imgUrl.openStream());showImg(bitmap);} catch (IOException e) {e.printStackTrace();}}}).start();}private void showImg(final Bitmap bitmap){runOnUiThread(new Runnable() {@Overridepublic void run() {imageView.setImageBitmap(bitmap);}});}
}

联想

第一步和第二应该可以合并在子线程中;
将bitmap声明为全局变量,第三步应该可以精简:

 try {url = new URL("https://img-home.csdnimg.cn/images/20201124032511.png");requestImg(url);} catch (Exception e) {e.printStackTrace();}imageView.setImageBitmap(bitmap);

这里我没有测试过,只是一些想法;

权限

在 Mainfest.xml文件中加入网络权限申请;

<uses-permission android:name="android.permission.INTERNET"/>

安卓 9 加强了保密性,导致无法进行非加密的 http 网络请求

解决方法:

在 AndroidManifest.xml 的 application 标签中新加:

android:usesCleartextTraffic=“true”

重新运行即可;

熟悉Android---使用imageView加载网络图片相关推荐

  1. Universal-Image-Loader,android-Volley,Picasso、Fresco和Glide五大Android开源组件加载网络图片的优缺点比较

    在android中的加载网络图片是一件十分令人头疼的事情,在网上有着许多关于加载网络图片的开源库,可以让我们十分方便的加载网络图片.在这里我主要介绍一下我自己在使用Volley, Picasso, U ...

  2. Android开发 - ImageView加载Base64编码的图片

    在我们开发应用的过程中,并不是所有情况下都请求图片的URL或者加载本地图片,有时我们需要加载Base64编码的图片.这种情况出现在服务端需要动态生成的图片,比如: 二维码 图形验证码 - 这些应用场景 ...

  3. android imageview 设置网络图片,ImageView加载网络图片

    android网络加载图片框架Android-Universal-Image-Loader功能非常强大,其开源地址https://github.com/nostra13/Android-Univers ...

  4. android listview动态加载网络图片不显示,Android Listview异步动态加载网络图片

    Android Listview异步动态加载网络图片 详见: http://blog.sina.com.cn/s/blog_62186b460100zsvb.html 标签: Android SDK ...

  5. Android 6种加载网络图片的第三方详解

    一. Glide加载 Glide.with(this).load("http://p0.qhimg.com/t015f3654b694ad2f8a.jpg").into(image ...

  6. ImageView加载网络图片

    使用第三方的库Glide加载网络图片 首先去下载一个glide的包 下载地址:https://github.com/bumptech/glide/releases/download/v4.7.0/gl ...

  7. android中的ImageView,ImageView加载网络图片

    android中的ImageView,ImageView加载网路图片 在布局文件中加入标签

  8. Android 自定义ImageView加载图片

    自定义imageview功能: 可以实现设置图片显示的时候,依据本身的比例进行图片的缩放 加载图片效果: 使用ImageLoader来加载 图片: 首先将ImageLoader的jar包关联到项目中 ...

  9. Android 使用Picasso加载网络图片等比例缩放

    在做android图片加载的时候,由于手机屏幕受限,很多大图加载过来的时候,我们要求等比例缩放,比如按照固定的宽度,等比例缩放高度,使得图片的尺寸比例得到相应的缩放,但图片没有变形.显然按照andro ...

最新文章

  1. 10 个让你笑的合不拢嘴的 GitHub 项目!
  2. 根据服务器ip地址查看虚拟目录,IIS虚拟目录实现与文件服务器网络驱动器映射共享...
  3. java多线程之线程的同步与锁定(转)
  4. 微软认真聆听了开源 .NET 开发社区的炮轰: 通过CLI 支持 Hot Reload 功能
  5. python关键字详解_Python 中的关键字with详解
  6. 《Adobe Photoshop大师班:经典作品与完美技巧赏析》即将上市
  7. 【MyBatis笔记】09-一对多关系建表
  8. 子进程和父进程的结论_Python的多进程不是随便用滴!
  9. 银行IT部门科技管理流程管控工作发展之路
  10. STM32F205 PWM配置
  11. 视频格式转换器之视频格式在线转换详细教程
  12. 计算机网络技术练习,计算机网络技术基础各章节综合练习题及答案
  13. python中求根公式_python求根公式
  14. HTML5制作诗歌锦集,短小优美的自创现代诗歌(精选5首)
  15. java开发操作系统:启动任意多控制台窗口
  16. IDEA全局搜索快捷键方法
  17. PS 不能使用移动工具 因为目标图层被隐藏怎么办
  18. Latex文本两端对齐
  19. 如何批量调整图片亮度和对比度?
  20. 开放平台API接口加密,签名策略

热门文章

  1. DMD芯片驱动 - 透析DLP投影机核心 DMD芯片图文介绍
  2. 当10万+的账号被封,我竟然发现了这个秘密!
  3. 微信授权了美国服务器咋取消,想取消第三方授权?教程都在这儿了
  4. 下午下班做了2张CD封面~
  5. 舔狗至高境界,学会这个技巧让你从舔狗升华到海王【Python趣味爬虫】
  6. 【解决方案】国标EasyGBS视频平台联合烟草运输行业实现运输车辆无线视频监控方案
  7. 电商平台抽奖活动需求分析
  8. java枚举数字_Java枚举类型的使用,数值的二进制表示
  9. 后台网站的一些功能介绍
  10. 4-1、matplotlib绘制两个系列的簇状柱形图(参数详解)