`

网络开发-获得图片

阅读更多

1:工具类

package cn.itcast.utils;

import java.io.ByteArrayOutputStream;
import java.io.InputStream;

public class StreamTool {

	/**
	 * 从输入流中获取数据
	 * @param inStream 输入流
	 * @return
	 * @throws Exception
	 */
	public static byte[] readInputStream(InputStream inStream) throws Exception{
		ByteArrayOutputStream outStream = new ByteArrayOutputStream();
		byte[] buffer = new byte[1024];
		int len = 0;
		while( (len=inStream.read(buffer)) != -1 ){
			outStream.write(buffer, 0, len);
		}
		inStream.close();
		return outStream.toByteArray();
	}
}

 

 

2:业务类

package cn.itcast.service;

import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

import cn.itcast.utils.StreamTool;

public class ImageService {
 
 public static byte[] getImage(String path) throws Exception {
  URL url = new URL("http://i3.itc.cn/20100707/76c_0969b700_d5b4_41cd_8243_9b486be92cc4_0.jpg");
  HttpURLConnection conn = (HttpURLConnection)url.openConnection();
  conn.setRequestMethod("GET");
  conn.setConnectTimeout(5 * 1000);
  InputStream inStream = conn.getInputStream();//通过输入流获取图片数据
  return StreamTool.readInputStream(inStream);//得到图片的二进制数据
 }

}

 

3:activate

package cn.itcast.image;

import cn.itcast.service.ImageService;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;

public class ImageShowActivity extends Activity {
	private static final String TAG = "ImageShowActivity";
    private EditText pathText;
    private ImageView imageView;
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        pathText = (EditText) this.findViewById(R.id.urlpath);
        imageView = (ImageView) this.findViewById(R.id.imageView);
        Button button = (Button)this.findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {
				String path = pathText.getText().toString();
				try {
					byte[] data = ImageService.getImage(path);
					Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);//生成位图
					imageView.setImageBitmap(bitmap);//显示图片					
				} catch (Exception e) {
					Toast.makeText(ImageShowActivity.this, R.string.error, 1).show();
					Log.e(TAG, e.toString());
				}
			}
		});
    }
}

 

分享到:
评论

相关推荐

    Android代码-图片快速开发库

    运用在安卓开发上提供本地(相机,相册,剪裁,文件),缓存,网络三方图片的快速开发库 适用设备: Android:15~24 添加依赖: Step1.Add the Jetpack repository to your project build file: allprojects { ...

    8tupian图片加密平台v2.7 对图片进行加密的网络平台+包含三种模式上传图片+可二次开发修改

    源码是通过调用八图片平台的 API,进行设计开发的。用此源码搭建的网站,用户资金直接进入你自己的支付接口。 8tupian 图片加密平台简介: 8tupian 图片加密平台是一个可以对图片进行加密的网络平台。 将原始...

    Android-FastImageSize是一个不需要完全下载就可以快速获得网络图片宽高尺寸信息的androidlib

    FastImageSize是一个不需要完全下载就可以快速获得网络图片宽高尺寸信息的android lib

    新版Android开发教程.rar

    � 源代码完全开放,便于开发人员更清楚的把握实现细节,便于提高开发人员的技术水平,有利于开发 出 更具差异性的应用。 � 采用了对有限内存、电池和 CPU 优化过的虚拟机 Dalvik , Android 的运行速度比想象的要...

    Go并发编程项目开发实战-网络爬虫框架设计和实现-案例解析实例详解课程教程.pdf

    简单来说,网络爬虫是互联网...这些筛选出的部分会马上得到特定的处理。与此同时,网络爬虫还会像人类用户点击网页中某个他感兴趣的链接那样,继续访问和下载相关联的其他内容,然后再重复上述步骤,直到满足停止的条件。

    Python-学习用生成对抗网络来生成猫的图片一个玩具项目

    这个仓库是一个“玩具”项目,所以我可以获得构建深层神经网络的经验。 我的第一个目标是学习用生成对抗网络(^。^。^)来生成猫的图片。

    宝贝图库V2.0图片网络存储空间管理系统(高仿淘小宝)

    宝贝图库V2.0图片网络存储空间管理系统(高仿淘小宝图片网络存储空间管理系统)使用说明 -----------------V2.0与V1.0的区别------------------ 1.新增一次浏览本地多选文件同时批量上传功能,即多文件上传 2.新增...

    Eclipse RCP Plug-in开发自学教程(Eclipse3.6)

    本教程素材来源于网络,经过本人的整理、添加以及部分的重写,将原有的Eclipse3.3版本的一些内容完全迁移到Eclipse3.6版本上来。基于开源以及分享的精神,特地将教程分享到网络上,希望所有需要的朋友因此而受益,也...

    黑马程序员 安卓学院 万元哥项目经理 分享220个代码实例

    |--图片之网络异步下载图片 |--图片之获取SD卡所有及边界可调及压缩和软引用和内存回收 |--图片的LRU算法内存保存和读取 |--图片的缩放处理(防内存溢出) |--多媒体应用设计图 |--多线程下载 |--多线程下载及断点续传...

    多个Powerbuild 调用API函数实例

    使窗口的图片透明化 -- TransWindow 改变窗口的关闭形式 -- CloseStyle PB中实现图形的复制与粘贴以及图像的简单处理 -- PictureBox 获得系统的内部进程 -- System Thread 获得系统基本信息 -- ...

    小精豆网络相册V3.0网络图片存储系统源码(高仿淘小宝)

    小精豆 是TAOBAO网店最成功的图片存放空间提供商系统,店铺设计提供商系统,全面支持:|淘宝|易趣|拍拍网 的店铺设计和模版开发。 简意:只要拥有小精豆网络相册系统,就能轻松成为企业级网络图片存储服务商! 界面...

    Android应用开发揭秘pdf高清版

    《Android应用开发揭秘》内容全面,不仅详细讲解了Android框架、Android组件、用户界面开发、游戏开发、数据存储、多媒体开发和网络开发等基础知识,而且还深入阐述了传感器、语音识别、桌面组件开发、Android游戏...

    android获取(采集)网络图片的例子.rar

    本源码主要演示android获取网络图片,类似于采集图片。编程思路:首先获取请求的路径,路径为我们想要得到的资源,建立URL对象,抛出异常,得到HttpURLConnection对象,声明请求方式,设置连接超时,得到服务器传...

    android开发揭秘PDF

    5.2.12 获得屏幕属性 5.3 动画实现 5.3.1 Tween动画 5.3.2 Frame动画 5.3.3 GIF动画播放 5.4 小结 第6章 Android数据存储 6.1 Android数据存储初探 6.2 数据存储之Shared Preferences 6.3 数据存储之Files 6.4 数据...

    Android开发资料合集--续

    84、根据网络或GPS获得经纬度 128 85、TextView 130 90、获取存储卡和手机内部存储空间 130 91、获得当前应用的UID 131 92、图片压缩类 132 93、一次性退出所有Activity 136 95、Java替换字符串,不区分大小写 138 ...

    易语言程序免安装版下载

    5) 修改高级选择夹中的组件在窗口载入后强制得到焦点的BUG 6) 修改MYSQL支持库跨静态编译的EXE和DLL传递连接句柄和记录集句柄无效的BUG(改动较大,可能会产生兼容性问题,我们已经仔细测试,也请使用到此库的用户...

    VB网络编程实例

    ◆ 171.htm 开发网络应用的5个技巧 ◆ 172.htm 利用RAS调用在VB6.0中实现拨号上网 ◆ 173.htm 利用VB提取HTML文件中的EMAIL地址 ◆ 174.htm 枚举出局域网上所有网络资源 ◆ 175.htm 面向...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    6.6.2 得到requestdispatcher对象 232 6.6.3 请求转发的实例 233 6.6.4 sendredirect()和forward()方法的区别 238 6.7 小结 239 第7章 web应用程序的部署 240 7.1 配置任意目录下的web应用程序 240 7.2 war...

    8图片平台源码 图片加密平台 资源加密 支付后可见 支付后显示内容 php源码 v4.1

    源码是通过调用八图片平台的API,进行设计开发的。用此源码搭建的网站,用户资金直接进入你自己的支付接口。 8tupian图片加密平台简介: 8tupian图片加密平台是一个可以对图片进行加密的网络平台。 将原始图片上传...

    vc++ 开发实例源码包

    ----------VC应用开发 [Visual.C..编程技巧精选500例]源代码. 内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件...

Global site tag (gtag.js) - Google Analytics