我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Android使用okHttp(get方式)下载图片

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Android使用okHttp(get方式)下载图片

一、首先下载Jar包

https://github.com/square/okhttp 

如果使用android studio只需要加入依赖compile 'com.squareup.okhttp3:okhttp:3.2.0'  

二、下载一张图片并显示
使用的是hanlder的方式 


package com.liunan.okhttpdemo2;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;
import java.io.IOException;
import java.io.InputStream;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.ResponseBody;
public class MainActivity extends AppCompatActivity {
 private static final int ERROR = 1;
 private static final int SUCCESS = 2 ;
 private String url = "http://192.168.1.102:8080/img/a.jpg";
 private ImageView mIv;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);
 initView();
 }
 private Handler handler = new Handler(){
 @Override
 public void handleMessage(Message msg) {
  switch (msg.what){
  case SUCCESS:
   mIv.setImageBitmap((Bitmap) msg.obj);
   break;
  case ERROR:
   Toast.makeText(MainActivity.this, "请求超时", Toast.LENGTH_SHORT).show();
   break;
  }
 }
 };
 
 private void initView() {
 mIv = (ImageView) findViewById(R.id.main_iv);
 }
 
 public void getPic(View v){
 new Thread(){
  @Override
  public void run() {
  //获取okHttp对象get请求,
  try {
   OkHttpClient client = new OkHttpClient();
   //获取请求对象
   Request request = new Request.Builder().url(url).build();
   //获取响应体
   ResponseBody body = client.newCall(request).execute().body();
   //获取流
   InputStream in = body.byteStream();
   //转化为bitmap
   Bitmap bitmap = BitmapFactory.decodeStream(in);
   //使用Hanlder发送消息
   Message msg = Message.obtain();
   msg.what = SUCCESS;
   msg.obj = bitmap;
   handler.sendMessage(msg);
  } catch (IOException e) {
   e.printStackTrace();
   //失败
   Message msg = Message.obtain();
   msg.what = ERROR;
   handler.sendMessage(msg);
  }
  }
 }.start();
 }
}

也可以把网络请求写为一个工具类, 


package com.liunan.okhttpdemo2;
import java.io.IOException;
import java.io.InputStream;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;

public class OkHttpUtils {
 OkHttpClient client = new OkHttpClient();
 
 public InputStream getInpuStream(String url) throws IOException {
 //设置 请求
 Request request = new Request.Builder()
  .url(url).build();
 //获取行响应
 InputStream in = client.newCall(request).execute().body().byteStream();
 return in;
 }
 
 public String getString(String url) throws IOException {
 //设置 请求
 Request request = new Request.Builder()
  .url(url).build();
 //获取行响应
 Response response = client.newCall(request).execute();
 return response.body().string();
 }
}
您可能感兴趣的文章:详解Android中使用OkHttp发送HTTP的post请求的方法Android中Retrofit+OkHttp进行HTTP网络编程的使用指南详解Android使用OKHttp3实现下载(断点续传、显示进度)Android的OkHttp包中的HTTP拦截器Interceptor用法示例Android中Okhttp3实现上传多张图片同时传递参数Android OkHttp Post上传文件并且携带参数实例详解Android中的Retrofit+OkHttp+RxJava缓存架构使用Android中okhttp3使用详解android中实现OkHttp下载文件并带进度条Android Okhttp断点续传面试深入解析


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Android使用okHttp(get方式)下载图片

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android使用okHttp(get方式)下载图片

一、首先下载Jar包https://github.com/square/okhttp 如果使用android studio只需要加入依赖compile 'com.squareup.okhttp3:okhttp:3.2.0' 二、下载一张图
2022-06-06

Android使用okHttp(get方式)登录

本文实例为大家分享了Android使用get方式登录的相关代码,供大家参考,具体内容如下 工具类 package com.liunan.okhttpdemo3post.Utils; import java.io.IOException; i
2022-06-06

Android中使用HttpURLConnection实现GET POST JSON数据与下载图片

Android6.0中把Apache HTTP Client所有的包与类都标记为deprecated不再建议使用所有跟HTTP相关的数据请求与提交操作都通过HttpURLConnection类实现,现实是很多Android开发者一直都Apa
2022-06-06

Android OKhttp使用(下载和上传文件)

Android okhttp的使用 首先在build.gradle中引入okhttp implementation 'com.squareup.okhttp3:okhttp:3.14.2' implementation 'co
2023-08-23

Android入门之使用OKHttp多线程下载文件

OkHttp是一个神器。OkHttp分为异步、同步两种调用。今天我们就会基于OkHttp的异步调用实现一个多线程并行下载文件并以进度条展示总进度的实用例子,需要的可以参考一下
2023-01-03

Android中使用OkHttp包处理HTTP的get和post请求的方法

概览 http是现在主流应用使用的网络请求方式, 用来交换数据和内容, 有效的使用HTTP可以使你的APP 变的更快和减少流量的使用 OkHttp 是一个很棒HTTP客户端(GitHub主页:https://github.com/squar
2022-06-06

Android使用控件ImageView加载图片的方法

在 Android 加载图片一般使用 ImageView,这里简单记录一下这个控件的使用方法。 最简单就是在 xml 里直接使用 ImageView 标签:
2022-06-06

Android实现多线程下载图片的方法

很多时候我们需要在Android设备上下载远程服务器上的图片进行显示,今天整理出两种比较好的方法来实现远程图片的下载。 方法一、直接通过Android提供的Http类访问远程服务器,这里AndroidHttpClient是SDK 2.2中新
2022-06-06

Android使用AsyncTask下载图片并显示进度条功能

在Android中实现异步任务机制有两种方式,Handler和AsyncTask。这篇文章给大家介绍Android使用AsyncTask下载图片并显示进度条功能。 AsyncTask下载图片并显示下载进度,异步类AsyncTask配合进度条
2022-06-06

android使用OkHttp实现下载的进度监听和断点续传

1. 导入依赖包// retrofit, 基于Okhttp,考虑到项目中经常会用到retrofit,就导入这个了。compile 'com.squareup.retrofit2:retrofit:2.1.0' // ButterKnifec
2022-06-06

Android中图片压缩方案详解及源码下载

Android中图片压缩方案详解及源码下载 图片的展示可以说在我们任何一个应用中都避免不了,可是大量的图片就会出现很多的问题,比如加载大图片或者多图时的OOM问题,可以移步到Android高效加载大图及多图避免程序OOM.还有一个问题就是图
2022-06-06

Android官推kotlin-first图片加载库Coil的使用方法

这篇文章给大家分享的是有关Android官推kotlin-first图片加载库Coil的使用方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Coil 是一个非常年轻的图片加载库,在 2020 年 10 月 22
2023-06-14

Python下载图片并保存本地的两种方式

一:使用Python中的urllib类中的urlretrieve()函数,直接从网上下载资源到本地,具体代码:import os,statimport urllib.requestimg_url="https://timgsa.baidu.
2023-01-31

Android使用ViewPager加载图片和轮播视频

作为Android基础组件之一,大家对viewpager已经很熟悉了,网上也有很多使用viewpager来加载图片的案例。但是像微信那样点击图片,可以轮播显示图片和视频的例子却没找到。正巧项目中有需求,可以就花时间写了下,现在给一下核心代码
2022-06-06

Android App中使用Glide加载图片的教程

与其他图片加载库相同,Glide除了可以加载网络图片之外,也可以加载本地图片。甚至还可以从各种各样奇葩的数据源中加载图片。 加载网络图片 很多情况下,我们使用图片加载库就是为了加载网络图片。网络操作是一个很复杂的东西。试想一下,如果没有图片
2022-06-06

Android使用post方式上传图片到服务器的方法

本文实例讲述了Android使用post方式上传图片到服务器的方法。分享给大家供大家参考,具体如下: public class UploadUtil {private stati
2022-06-06

Android使用Matrix旋转图片模拟碟片加载过程

今天实现了一个模拟碟片加载过程的小demo,在此展示一下。由于在公司,不好截取动态图片,因此就在这截取两张静态图片看看效果先。下面简单的将代码列出来。 setp1、准备两张用于旋转的图片,如下:loading_disc.png是第一张图片,
2022-06-06

使用Glide在Android应用中加载网络图片

使用Glide在Android应用中加载网络图片 代码由于宽度比较小被换行了,看着很不整齐,其实很整齐,注释写得比较详细,比较多不容易阅读,可以先复制到ide或者Vscode里阅读 布局文件里只有一个imageview 动画资源文件可以不需
2022-06-06

使用Android的OkHttp包实现基于HTTP协议的文件上传下载

OkHttp的HTTP连接基础 虽然在使用 OkHttp 发送 HTTP 请求时只需要提供 URL 即可,OkHttp 在实现中需要综合考虑 3 种不同的要素来确定与 HTTP 服务器之间实际建立的 HTTP 连接。这样做的目的是为了达到最
2022-06-06

详解Android GLide图片加载常用几种方法

这篇文章主要为大家介绍了详解Android GLide图片加载常用几种方法,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2022-11-16

编程热搜

  • Android:VolumeShaper
    VolumeShaper(支持版本改一下,minsdkversion:26,android8.0(api26)进一步学习对声音的编辑,可以让音频的声音有变化的播放 VolumeShaper.Configuration的三个参数 durati
    Android:VolumeShaper
  • Android崩溃异常捕获方法
    开发中最让人头疼的是应用突然爆炸,然后跳回到桌面。而且我们常常不知道这种状况会何时出现,在应用调试阶段还好,还可以通过调试工具的日志查看错误出现在哪里。但平时使用的时候给你闹崩溃,那你就欲哭无泪了。 那么今天主要讲一下如何去捕捉系统出现的U
    Android崩溃异常捕获方法
  • android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
    系统的设置–>电池–>使用情况中,统计的能耗的使用情况也是以power_profile.xml的value作为基础参数的1、我的手机中power_profile.xml的内容: HTC t328w代码如下:
    android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
  • Android SQLite数据库基本操作方法
    程序的最主要的功能在于对数据进行操作,通过对数据进行操作来实现某个功能。而数据库就是很重要的一个方面的,Android中内置了小巧轻便,功能却很强的一个数据库–SQLite数据库。那么就来看一下在Android程序中怎么去操作SQLite数
    Android SQLite数据库基本操作方法
  • ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
    工作的时候为了方便直接打开编辑文件,一些常用的软件或者文件我们会放在桌面,但是在ubuntu20.04下直接直接拖拽文件到桌面根本没有效果,在进入桌面后发现软件列表中的软件只能收藏到面板,无法复制到桌面使用,不知道为什么会这样,似乎并不是很
    ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
  • android获取当前手机号示例程序
    代码如下: public String getLocalNumber() { TelephonyManager tManager =
    android获取当前手机号示例程序
  • Android音视频开发(三)TextureView
    简介 TextureView与SurfaceView类似,可用于显示视频或OpenGL场景。 与SurfaceView的区别 SurfaceView不能使用变换和缩放等操作,不能叠加(Overlay)两个SurfaceView。 Textu
    Android音视频开发(三)TextureView
  • android获取屏幕高度和宽度的实现方法
    本文实例讲述了android获取屏幕高度和宽度的实现方法。分享给大家供大家参考。具体分析如下: 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸 下面的代码即
    android获取屏幕高度和宽度的实现方法
  • Android自定义popupwindow实例代码
    先来看看效果图:一、布局
  • Android第一次实验
    一、实验原理 1.1实验目标 编程实现用户名与密码的存储与调用。 1.2实验要求 设计用户登录界面、登录成功界面、用户注册界面,用户注册时,将其用户名、密码保存到SharedPreference中,登录时输入用户名、密码,读取SharedP
    Android第一次实验

目录