主程序
package com.example.myhttpdcc;import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Handler;
import android.os.Message;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.SeekBar;import androidx.appcompat.app.AppCompatActivity;import java.io.BufferedInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;public class MainActivity extends AppCompatActivity {private SeekBar mSeekBar;private  final String urlString = "http://192.168.43.8:280/AA.jpg";private ImageView mIV;private int fileLength;private Bitmap mBitmap;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mSeekBar = (SeekBar)findViewById(R.id.seekbar);mIV = (ImageView)findViewById(R.id.image);new Thread(downloadRunn).start();}private Runnable downloadRunn = new  Runnable(){@Overridepublic void run() {try {URL url = new URL(urlString);URLConnection connection = url.openConnection();connection.connect();fileLength = connection.getContentLength();InputStream in = new BufferedInputStream(connection.getInputStream());byte[] arr = readStream(in);mBitmap = BitmapFactory.decodeByteArray(arr,0,arr.length);connectHanlder.sendEmptyMessage(0);} catch (Exception e) {e.printStackTrace();}}};public  byte[] readStream(InputStream in) throws Exception{ByteArrayOutputStream bos = new ByteArrayOutputStream();byte data[] = new byte[1024];long total = 0;int count;while((count = in.read(data))!=-1){total+=count;mSeekBar.setProgress((int)(total*100)/fileLength);bos.write(data,0,count);}bos.close();in.close();return bos.toByteArray();}private Handler connectHanlder = new Handler() {@Overridepublic void handleMessage(Message msg) {// 更新UI,显示图片if (mBitmap != null) {mIV.setImageBitmap(mBitmap);// display image}}};
}布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".MainActivity"><SeekBarandroid:id="@+id/seekbar"android:layout_width="match_parent"android:layout_height="wrap_content"android:progress="50"/><ImageViewandroid:id="@+id/image"android:layout_width="match_parent"android:layout_height="150dp"android:scaleType="center"/>
</LinearLayout>添加权限
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.myhttpdcc"><uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /><applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/AppTheme"><activity android:name=".MainActivity"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest>

Android studio 37 下载网络图片 并显示相关推荐

  1. 第37篇 Android Studio实现点击图片显示信息(四)布局及资源文件

    第37篇 Android Studio实现点击图片显示信息(四)布局及资源文件 4.布局文件 4.1.strings.xml 4.布局文件 整体是一个垂直布局,然后在设置一些水平布局就行了. < ...

  2. Android studio的下载和安装

    https://blog.csdn.net/kunkun5love/article/details/57626969 第一步 Android studio的下载 具体的网站就是 Android Stu ...

  3. Android Studio新手–下载安装配置–零基础入门–基本使用–调试技能–构建项目基础–使用AS应对常规应用开发

    转自:http://blog.csdn.net/yanbober/article/details/45306483 目标:Android Studio新手–>下载安装配置–>零基础入门–& ...

  4. AsyncTask下载网络图片并显示下载进度

    1.AsyncTask概述 AsyncTask是一个轻量级的异步任务类,它可以在线程池中执行后台任务,然后把执行的进度和最终结果传递给主线程并在主线程中更新UI,AsyncTask封装了Thread和 ...

  5. Android Studio的下载和安装教程(从ADT到AS)

    之前一直使用的是Android development tools(简称ADT),后来说是google对ADT不再提供支持,然后一直在考虑是否把自己电脑换成Android Studio(简称AS),从 ...

  6. Android Studio Gradle 下载过慢?Gradle 配置阿里云镜像

    Android Studio Gradle 下载过慢?Gradle 配置阿里云镜像 旧AndroidStudio项目配置 新AndroidStudio项目配置 旧AndroidStudio项目配置 找 ...

  7. Android Studio gradle下载依赖包失败的解决办法

    Android Studio gradle下载依赖包失败 的解决办法 使用Android Studio在第一次导入项目或者配置完Kotlin后,会一直Build,因为需要下载一些项目中配置的依赖和gr ...

  8. android 动态显示表格,在Android Studio中动态生成并显示表格

    我在Android上创建我的第一个应用程序,因此我有低开发android应用程序的经验,而且我也是第一次使用java.在Android Studio中动态生成并显示表格 我想要什么? 我想从Array ...

  9. 2022年Android Studio详细下载,安装使用教程

    目录 一.下载Android Studio 二.安装Android Studio步骤 三.使用Android Studio 一.下载Android Studio 下载Android Studio网址: ...

  10. 旧博客停更,新账号下第一篇文章:【基础篇】Android studio Gradle 下载慢方案

    旧账号博客链接:https://blog.csdn.net/hjz19921130 这是我新账号下第一篇文章: 可以解决初学者在gradle上遇到下载的问题而烦恼(让害怕装ide的同学走出恐惧): A ...

最新文章

  1. python怎么建立画板_Python基于opencv实现的简单画板功能示例
  2. 小白学python买什么书-终于明白小白学习python怎么学
  3. 【JLOI2011】飞行路线
  4. typedef和#define的作用域问题
  5. 【CodeForces - 1047C】Enlarge GCD(数学,枚举,预处理打表,思维)
  6. Linux 内核完成接口
  7. 普京昨天问马云:你这么年轻为什么“退休”?
  8. Android 自动换行流式布局的RadioGroup
  9. echarts折现变曲线_echarts将折线图改为曲线图
  10. 也谈压缩感知(compressive sensing)
  11. java.lang.ClassNotFoundException: com.mysql.jdbc.Driver解决办法
  12. 倾角传感器原理及市场现状浅析
  13. 平板波导 matlab,非对称平板波导色散曲线求解(附matlab程序).doc
  14. QT制作一个串口调试助手出现乱码问题
  15. mysql学习之mysql集群
  16. Fedora 33 配置Samba 服务器
  17. 计算机蓝屏重启,电脑蓝屏怎么解决?电脑蓝屏自动重启解决方法
  18. 桌面点右键,白屏怎么办
  19. 误操作rm -rf /*之后该如何挽救,除了跑路还能怎么办
  20. 个是云计算,一个大数据,一个人工智能,

热门文章

  1. 学习新IT技术的几个问题?如何突破大脑海马体对知识的怀疑,就是看书和实践,知识具象化
  2. MATLAB点云处理(十八):直线拟合(最小二乘 | RANSAC)
  3. 钢七连对决塔利班 -- 记6月6日公司组织的真人CS
  4. 《生命的礼赞》大型自然生态艺术展,探索艺术和生物多样性碰撞与融合!
  5. Excel文本函数的应用
  6. 优维产品最佳实践:如何设计流水线?
  7. java 面试题场景_大三、研二的秋招备战路线(Java、大数据)
  8. 单片机等零碎知识点(笔记)
  9. PHP操作数据库_展示员工信息
  10. 浙江大学 PTA C语言-实验8.2 指针与字符串 7-2 字符串排序