Android 下载、显示图片

一、新建PictureLoader public class PictureLoader {private ImageView loadImg;private String imgUrl;private byte[] picByte;Handler handler = new Handler() {@Overridepublic void handleMessage(Message msg) {super.handleMessage(msg);if (msg.what == 0x123) {if (picByte != null) {Bitmap bitmap = BitmapFactory.decodeByteArray(picByte, 0, picByte.length);loadImg.setImageBitmap(bitmap);}}}};public void load(ImageView loadImg, String imgUrl) {this.loadImg = loadImg;this.imgUrl = imgUrl;Drawable drawable = loadImg.getDrawable();if(drawable != null && drawable instanceof BitmapDrawable) {Bitmap bitmap = ((BitmapDrawable)drawable).getBitmap();if(bitmap != null && !bitmap.isRecycled()) {bitmap.recycle();}}new Thread(runnable).start();}Runnable runnable = new Runnable() {@Overridepublic void run() {try {URL url = new URL(imgUrl);HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setRequestMethod("GET");conn.setReadTimeout(10000);if (conn.getResponseCode() == 200) {InputStream in = conn.getInputStream();ByteArrayOutputStream out = new ByteArrayOutputStream();byte[] bytes = new byte[1024];int length = -1;while ((length = in.read(bytes)) != -1) {out.write(bytes, 0, length);}picByte = out.toByteArray();in.close();out.close();handler.sendEmptyMessage(0x123);}} catch (IOException e) {e.printStackTrace();}}};}

  二、新建Activity界面

public class MainActivity extends AppCompatActivity implements View.OnClickListener {private Button showBtn;private ImageView showImg;private ArrayList<String> urls;private  int curPos=0;private PictureLoader loader;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);showBtn=(Button)findViewById(R.id.showBtn);showImg=(ImageView)findViewById(R.id.img_show);loader=new PictureLoader();showBtn.setOnClickListener(this);urls=new ArrayList<>();urls.add("https://img1.baidu.com/it/u=2613963793,934854936&fm=253&fmt=auto&app=120&f=JPEG?w=1280&h=800");urls.add("https://img2.baidu.com/it/u=2453741982,2770329727&fm=253&fmt=auto&app=120&f=JPEG?w=1280&h=800");urls.add("https://img0.baidu.com/it/u=494561658,4056512075&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=500");urls.add("https://img2.baidu.com/it/u=2389087729,70628867&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=750");urls.add("https://k.sinaimg.cn/n/sinakd10100/50/w660h990/20240323/d50c-5faa98beb0d96d35c6ae9444d98b3c0d.jpg/w700d1q75cms.jpg");urls.add("https://img0.baidu.com/it/u=2673688411,90488494&fm=253&fmt=auto&app=138&f=JPEG?w=480&h=800");urls.add(" https://img1.baidu.com/it/u=1682400140,1262357671&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500");urls.add("https://img1.baidu.com/it/u=2064828371,3291434219&fm=253&fmt=auto&app=138&f=JPEG?w=360&h=360");urls.add("https://img2.baidu.com/it/u=2148980033,2323997411&fm=253&fmt=auto&app=138&f=JPEG?w=759&h=500");}@Overridepublic void onClick(View v) {switch (v.getId()){case R.id.showBtn:if(curPos>9){curPos=0;}Logger.d(urls.get(curPos));loader.load(showImg,urls.get(curPos));curPos++;break;}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/814340.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在 Elasticsearch 中扩展 ML 推理管道:如何避免问题并解决瓶颈

作者&#xff1a;来自 Elastic Iulia Feroli 是时候考虑语义搜索运营了吗&#xff1f; 无论你是一位经验丰富的搜索工程师&#xff0c;希望探索新的人工智能功能&#xff0c;还是一位机器学习专家&#xff0c;希望更多地利用搜索基础设施来增强语义相似性模型 —— 充分利用这…

易舟云财务软件免费版和专业版有什么区别?

文章目录 1、价格&#xff08;1&#xff09;免费版&#xff08;2&#xff09;专业版 2、版本功能&#xff08;1&#xff09;免费版&#xff08;2&#xff09;专业版 1、价格 &#xff08;1&#xff09;免费版 永久免费&#xff01; &#xff08;2&#xff09;专业版 298元/…

Games104 现代游戏引擎3

学新的一趴~ 明天继续学习 参考文章&#xff1a;GAMES104课程笔记08-Basics of Animation Technology - Bos Blog (peng00bo00.github.io)

【免费题库】华为OD机试 - 贪吃的猴子(Java JS Python C C++)

须知 哈喽,本题库完全免费,收费是为了防止被爬,大家订阅专栏后可以私信联系退款。感谢支持 文章目录 须知题目描述输入描述输出描述解题思路:Java代码:JS代码:Python代码:C++代码:题目描述 一只贪吃的猴子,来到一个果园,发现许多串香蕉排成一行,每串香蕉上有若干根…

笔记本台式机电脑 “睡眠和休眠”有什么区别,那个更省电

笔记本台式机电脑 Windows 系统里睡眠和休眠有什么区别&#xff0c;睡眠和休眠那个更省电&#xff0c;睡眠和休眠使用那个更好&#xff0c;当不用电脑时&#xff0c;通常有三种方式让电脑休息&#xff1a;关机、睡眠和休眠。关机的定义大家都懂&#xff0c;但睡眠和休眠就容易让…

[蓝桥杯] 数位排序(C语言)

题目链接 蓝桥杯2022年第十三届省赛真题-数位排序 - C语言网 题目理解 按照数位之和给数排序。当两个数各个数位之和不同时&#xff0c;将数位和较小的排在前面&#xff0c;当数位之和相等时&#xff0c;将数值小的排在前面。第一次输入一个数字N&#xff0c;求1到数字N之间所…

OpenHarmony应用集成和固件集成中C库差异化分析

背景 OpenHarmony中&#xff0c;三方库的使用有两种方式&#xff1a; 一、固件集成 三方库经由OpenHarmony构建框架编译出的动态库或静态库&#xff0c;打包到rom中 二、应用集成 三方库经由IDE&#xff08;通过IDE中的cmake&#xff09;编译出的动态库或静态库&#xff0…

kafka学习笔记03

SpringBoot2.X项目搭建整合Kafka客户端依赖配置 用自己对应的jdk版本。 先加上我们的web依赖。 添加kafka依赖: SpringBoot2.x整合Kafka客户端adminApi单元测试 设置端口号。 新建一个kafka测试类&#xff1a; 创建一个初始化的Kafka服务。 设置kafka的名称。 测试创建kafka。…

笔记二basis

form-basis input nametitlestring字符串password密码number数字textarea多行文本radio单选checkbox多选Switch开关Slider滑块color颜色Autocomplete自动补全 file nametitleimages多图上传image单图上传file单文件上传files多文件上传 select nametitleselect单选下拉se…

C++测试程序运行的时间

最近测试算法的时间效率&#xff0c;记录一下C测试程序运行的时间模板。 在文件的头部引入包含的头文件 #include <chrono> #include <iostream>int main() {// 获取程序当前时间点auto start std::chrono::high_resolution_clock::now();/* 测试程序的代码块 *…

人工智能技术的创业机遇

人工智能&#xff08;AI&#xff09;技术的创业机遇 人工智能&#xff08;AI&#xff09;技术的快速发展为创业者提供了广阔的机会和挑战。随着AI技术的应用领域不断拓展&#xff0c;未来在AI技术方面的创业机会包括智能硬件、智能机器人、智能医疗、智能教育、智能交通、智能…

MySQL-进阶篇-基础架构:一条sql查询语句是如何执行的

摘自&#xff1a;01 | 基础架构&#xff1a;一条SQL查询语句是如何执行的&#xff1f;-MySQL实战45讲-极客时间 视频讲解&#xff1a;7分钟精通MySql中SQL执行原理_哔哩哔哩_bilibili 可结合学习&#xff0c;本文仅记录SQL语句的执行流程&#xff0c;以上内容有一些额外知识未…

学习MQ异步

1.MQ异步调用的优势 事件驱动模式&#xff1a; 优势&#xff1a; 总结&#xff1a; 2.初识MQ 核心概念以及结构&#xff1a; 常见的消息模型&#xff1a; 基本消息队列模型&#xff1a; 生产者代码&#xff1a; Testpublic void testSendMessage() throws IOException, Timeo…

C语言之_Generic用法实例(九十一)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

2024届数字IC秋招-华为机试-数字芯片-笔试真题和答案(六)(含2022年和2023年)

文章目录 前言1、多比特信号A,在时钟域clk_a存在从8’d100到8’d101的变化过程中,若在时钟域clk_b直接采用D触发器采样,可能采样到数据是2、报文处理设计规格:支持的报文长度为 36-256 字节,其余长度的报文直接丢弃,接收的报文长度小于64字节时填充PAD(任意数据),使报…

快速搭建 Java 项目开发环境

1、Jdk 1.8 链接&#xff1a;https://pan.baidu.com/s/1sh8sv__dgyoYpVDac2OVKw 提取码&#xff1a;efm3 ● 环境配置: JAVA_HOME: Java安装目录 CLASSPATH: .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; (记住前面有个点) Path: %JAVA_HOME%\bin;%JAVA_HOME%\jre\bi…

janus搭建

一、janus介绍 Janus 官网&#xff1a;https://janus.conf.meetecho.com/index.html 参考文档&#xff1a;https://github.com/meetecho/janus-gateway Janus是一个开源的WebRTC网关&#xff0c;可用于构建实时通信应用程序。它提供了音频、视频和数据传输的功能&#xff0c;可…

政安晨:【Keras机器学习实践要点】(三十)—— 使用斯温变换器进行图像分类

目录 设置 配置超参数 准备数据 辅助函数 基于窗口的多头自注意力计算 模型训练与评估 准备 tf.data.Dataset 建立模型 在 CIFAR-100 上训练 政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 收录专栏: TensorFlow与Keras机器学习实战 希望政…

vue3 导入excel数据

所需包 "xlsx": "^0.18.5"页面导入包 import * as XLSX from xlsx; import {genFileId, UploadProps, UploadRawFile,ElTable } from element-plus;页面 <el-upload accept".xlsx" :on-change"changeExcel" :on-exceed"ha…

[StartingPoint][Tier2]Included

LXD https://www.hackingarticles.in/lxd-privilege-escalation/ Task 1 What service is running on the target machine over UDP? &#xff08;目标机器上通过UDP运行的服务是什么&#xff1f;&#xff09; $ nmap -sU 10.129.232.86 -p 69 tftp Task 2 What class o…