我们首先在服务器存放一张图片,链接为

http://115.159.217.226/xy.png
package com.xiaoyu.schoolelive.activities;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.Button;
import android.widget.ImageView;
import com.xiaoyu.schoolelive.R;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class testActivity extends AppCompatActivity {private String str;private MyHandler handler1;class MyHandler extends Handler{@Override
        public void handleMessage(Message msg) {ImageView imageView = (ImageView)findViewById(R.id.image);imageView.setImageBitmap((Bitmap)msg.obj);}}protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_test2);handler1 = new MyHandler();Button button = (Button) findViewById(R.id.test);button.setOnClickListener(new View.OnClickListener() {@Override
            public void onClick(View view) {new Thread(new Runnable() {@Override
                    public void run() {try {String path = "http://115.159.217.226/xy.png";//2:把网址封装为一个URL对象
                            URL url = new URL(path);//3:获取客户端和服务器的连接对象,此时还没有建立连接
                            HttpURLConnection conn = (HttpURLConnection) url.openConnection();//4:初始化连接对象
                            conn.setRequestMethod("GET");//设置连接超时
                            conn.setConnectTimeout(8000);//设置读取超时
                            conn.setReadTimeout(8000);//5:发生请求,与服务器建立连接
                            conn.connect();//如果响应码为200,说明请求成功
                            if(conn.getResponseCode() == 200){//获取服务器响应头中的流
                                InputStream is = conn.getInputStream();//读取流里的数据,构建成bitmap位图
                                Bitmap bm = BitmapFactory.decodeStream(is);Message msg = new Message();msg.obj = bm;handler1.sendMessage(msg);handler1.sendMessage(msg);}} catch (Exception e) {e.printStackTrace();}}}).start();}});}
}

总体的思想就是向服务器请求图片,获得服务器响应中的流,并将流中的数据读取,通过bitmap构成位图,利用handler异步更新UI

Android读取服务器图片相关推荐

  1. php获取服务器上的图片不显示,php 读取服务器图片

    php 读取服务器图片 内容精选 换一换 本文介绍如何将开源框架的网络模型,例如Caffe.TensorFlow等框架训练好的模型,通过OMG(Offline Model Generator:离线模型 ...

  2. android读取大图片并缓存

    最近开发电视版的云存储应用,要求"我的相册"模块有全屏预览图片的功能,全屏分辨率是1920*1080超清. UI组件方面采用Gallery+ImageSwitcher组合,这里略过 ...

  3. Android 读取本地图片

    创建一个工具类 :FileUtil package com.example.testUtil;import java.io.File; //从本地读取图片 public class FileUtil ...

  4. android读取外部图片,Android读取本地图库与调用摄像头拍摄

    本文主要介绍如何读取Android本地图库的图片以及调用安卓的摄像头进行拍摄. 一.布局 布局比较简单,MainActviivty的布局文件只有两个按钮,一个是读取图库的,另一个是打开摄像头的,另外R ...

  5. Nodejs koa2读取服务器图片返回给前端直接展示

    项目目录结构 Project ├── app.js 程序文件 ├── images 图片目录 │ ├── default.png 默认图片 │ ├── xxxxxxx.png 其他图片 │ └── y ...

  6. Android 读取本地图片文件和读取图片的uri

    想读取本地项目里的资源图片,但又不能用到R文件. 总结以下几种读取Bitmap的方法: 1.以文件流的方式,假设sdcard里面有a.png图片 FileInputStream fs = new Fi ...

  7. java读取服务器图片大小,SpringMVC中MultipartFile上传获取图片的宽度和高度详解

    SpringMVC一般使用MultipartFile来做文件的上传,通过MultipartFile的getContentType()方法判定文件的类型(MIME) ".doc":& ...

  8. android+怎么分享图片大小,Android微信分享图片大于32k进行压缩

    微信分享视频的时候,需要传一个图片数组,大小不能大于32k. 解决方案:使用Bitmap自带的compress方法解决了这个问题. 源码如下: package com.example.test; im ...

  9. java 读取数据库图片二进制流并输出到jsp页面

    最近刚好遇到这个问题,刚开始在网上各种搜索,看到大量有关该问题的博文. 大量文章有些不敢苟同,希望博主们要写就认真写,请不要浪费其他需要帮助的人的时间去验证你的博文是否正确. 正文如下: 流程说明: ...

  10. Android向服务器发送图片(一)

    Android向服务器发送图片(一) 作为一个Android菜鸟,花了好久时间才搞定的发送图片功能,特在此写下,希望对后者有帮助.先说说我的思路:在Android通过相册选择图片,然后利用Base64 ...

最新文章

  1. yapi-docker
  2. cfile清空文件内容_电脑C盘文件夹哪些可以删除?教你如何快速清理,旧电脑还能用3年...
  3. 谈谈java的bio、nio、aio模型
  4. Android之解决java.lang.NoSuchMethodError:android.os.powerManager.isInteractive问题
  5. 阿诗玛的传说|阿诗玛民间故事
  6. python图像人类检测_OpenCV人类行为识别(3D卷积神经网络)
  7. 中国移动2018年智能硬件质量报告(第一期)——手机芯片评测
  8. hasoffers API 研究
  9. Java Spring-Bean
  10. android json解析及简单例子+Android与服务器端数据交互+Android精彩案例【申明:来源于网络】...
  11. python安装sqlalchemy-Python流行ORM框架sqlalchemy安装与使用教程
  12. 基于LM2733升压电路设计
  13. mac安装PS cc2019 error问题汇总
  14. 怎样设置路由器禁用其他设备
  15. sql server 首字母大写
  16. 飞塔(FortiGate)配置IPSec
  17. 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛 G 旋转矩阵 【模拟】
  18. 深度分析:云控系统有什么功能,工作室用的话咋样?
  19. 【嵌入式】STM32基于SPI通信协议OLED屏显示
  20. Linux_01_课堂笔记

热门文章

  1. php剪切透明圆,php把图片处理成圆形透明的图片,做圆形透明头像,圆形头像_编程资料分享...
  2. wei10-笔记本突然没有声音了!解决方法
  3. 一次因为游戏程序员猝死引发的思考
  4. 正点原子 fac_us=SystemCoreClock/8000000
  5. 字符串拼接用逗号隔开的四种方法
  6. 字体发光特效html视频,视频特效立体流光字制作
  7. FPGA MF-TDMA SCPC TPC QPSK DVB-S2 IP core
  8. 白杨SEO:QQ群SEO是什么?QQ群排名如何做引流与营销?【举例】
  9. 使用DISM修复系统
  10. Python实现大文本文件分割成多个小文件