这篇文章将讲解Android如果通过访问WebService接口实现图片的上传和下载,当然这不但需要大家懂得Android还要懂得WebService技术,安卓属于客户端,而webservice则属于服务端,所以就要求大家既要会开发APP又要会写服务器,这篇文章所用的WebService是通过Xfire实现的,不懂的同学可以了解一下javaWeb技术和Xfire。当然这篇文章主要是针对既要开发客户端又要开发服务端的童鞋的,所以javaWeb相关技术就不必多讲了,不是文章重点。首先,我们先来看图片下载的实现,这个相信做过安卓的都知道怎么实现,如果觉得自己已经闭着眼睛就知道代码怎么写的童鞋可以跳过此篇文章了,先看一下从网络获取图片工具类:

/**
 * @author baiyuliang
 */
public class ImageService {

	// 获取网络图片的数据
	public static byte[] getImg(String picpath) throws Exception {
		URL url = new URL(picpath);
		// 基于http协议的连接对象
		HttpURLConnection conn = (HttpURLConnection) url.openConnection();
		conn.setConnectTimeout(30000);// 30秒;
		conn.setReadTimeout(30000); // 30秒;
		conn.setInstanceFollowRedirects(true);
		conn.setRequestMethod("GET");// 获取方法:get

		if (conn.getResponseCode() == 200) {// 当返回代码为200时表示获取数据成功
			InputStream is = conn.getInputStream();
			ByteArrayOutputStream os = new ByteArrayOutputStream();
			byte[] buffer = new byte[1024];
			int length = 0;
			while ((length = is.read(buffer)) > -1) {
				os.write(buffer, 0, length);
			}
			os.close();
			return os.toByteArray();
		}

		return null;
	}

}

这个方法里,只需要传入图片的路径,就可以得到最终转换后的图片的字节数组,然后通过BitmapFactory.decodeByteArray图片工厂将字节数组转换成位图既可以显示出来了,而图片的路径,我们不管从哪里获得,只要有正确的路径,就能得到图片,或许大家会有疑问,这个webservice扯上什么关系,呵呵,因为若我们用webservice做服务端,那么图片的路径就肯定是通过webservice传过来的,客户端发送请求后,服务端相应请求,一般的做法就是将要返回的数据转换我IJSON格式返回给手机客户端,客户端接收数据后再解析JSON字符串,而图片路径获取就包含在这个字符串中,而如何解析,大家应该很熟悉了吧。那么手机客户端如何与webservice进行通信,如何发送数据,又如何接收数据,我将在下一篇文章中继续讲解。

Android通过WebService实现图片的上传和下载(一)的更多相关文章

  1. PHP使用七牛云存储之图片的上传、下载、303重定向教程,CI框架实例

    网上关于七牛云存储的教程除了官网上的API文档,其他的资料太少了.研究了下API之后,现在已经能实现图片的上传和下载及上传之后的重定向. http://blog.csdn.net/cqcre/arti ...

  2. 微信js-sdk,选择图片,上传,下载到本地,php服务端

    //前端js代码<script> //客户端6.0.2 wx.config({ //debug:true, appId: "{pigcms:$signPackage.appId} ...

  3. php中图片文件的导入,上传与下载

    ---------------------------------------------图片的导入-------------------------------------------------- ...

  4. SpringMVC使用ResponseEntity实现文件下载,及图片base64的字节数组上传于下载

    本文主要通过ResponseEntity<byte[]>实现文件下 该类实现响应头.文件数据(以字节存储).状态封装在一起交给浏览器处理以实现浏览器的文件下载. ResponseEntit ...

  5. 文件的上传和下载--SpringMVC

    文件的上传和下载是项目开发中最常用的功能,例如图片的上传和下载.邮件附件的上传和下载等. 接下来,将对Spring MVC环境中文件的上传和下载进行详细的讲解. 一.文件上传 多数文件上传都是通过表单 ...

  6. android中的文件(图片)上传

    android中的文件(图片)上传其实没什么复杂的,主要是对 multipart/form-data 协议要有所了解. 关于 multipart/form-data 协议,在 RFC文档中有详细的描述 ...

  7. android+nutz后台如何上传和下载图片

    android+nutz后台如何上传和下载图片  发布于 588天前  作者 yummy222  428 次浏览  复制  上一个帖子  下一个帖子  标签: 无 最近在做一个基于android的ap ...

  8. WebService支持多平台上传文件的实现

    WebService支持多平台上传文件的实现   要使用网站上传文件,在ASP.NET的范畴,我基本上能想到的有两类,一类是通过HTTP POST请求获得文件信息,另外一类是通过WebService或 ...

  9. 三款不错的图片压缩上传插件(webuploader+localResizeIMG4+LUploader)

    涉及到网页图片的交互,少不了图片的压缩上传,相关的插件有很多,相信大家都有用过,这里我就推荐三款,至于好处就仁者见仁喽: 1.名气最高的WebUploader,由Baidu FEX 团队开发,以H5为 ...

随机推荐

  1. PostgreSQL 常用系统自带方法

    数据库字符编码问题:    -- 查看PostgreSQL数据库服务器端编码:    show server_encoding;    -- 查看PostgreSQL客户端工具psql编码:    s ...

  2. [LeetCode] Maximum Binary Tree 最大二叉树

    Given an integer array with no duplicates. A maximum tree building on this array is defined as follo ...

  3. 【Android学习笔记】布局的简单介绍

    我在学习Android开发的时候是基于实战项目的,基础理论知识以前也是零散的看过一些,个人还是觉得边做项目边学要快些.现在做的这个项目iOS端是我做的,这样逻辑什么的都很熟悉,于我而言换个平台也只是换 ...

  4. [HNOI 2013]比赛

    Description 沫沫非常喜欢看足球赛,但因为沉迷于射箭游戏,错过了最近的一次足球联赛.此次联 赛共N支球队参加,比赛规则如下: (1) 每两支球队之间踢一场比赛. (2) 若平局,两支球队各得 ...

  5. [HNOI2009]有趣的数列

    题目描述 我们称一个长度为2n的数列是有趣的,当且仅当该数列满足以下三个条件: (1)它是从1到2n共2n个整数的一个排列{ai}: (2)所有的奇数项满足a1<a3<...<a2n ...

  6. SQL Server 连接 MySQL

    1.在SQL SERVER服务器上安装MYSQL ODBC驱动; 驱动下载地址:http://dev.mysql.com/downloads/connector/odbc/ 2.安装好后,在管理工具- ...

  7. 使用JAXB解析xml文件(二)

    前面一章简单演示了JAXB的用法,这个章节主要梳理一下JAXB常见的几个注解 1.@XmlRootElement 用于类级别的注解,对应xml的跟元素,常与 @XmlType 和 @XmlAccess ...

  8. HTTP Status Codes 查询表

    Web项目中经常会出现各种状态码,今天看到一个博客,挺不错,记录下来.

  9. MySql查询不区分大小写解决方案(两种)

    当我们输入不管大小写都能查询到数据,例如:输入 aaa 或者aaA ,AAA都能查询同样的结果,说明查询条件对大小写不敏感. 解决方案一: 于是怀疑Mysql的问题.做个实验:直接使用客户端用sql查 ...

  10. mysql 拼接

    SELECT  RTRIM(CONCAT(belong_master_ip ,'(',host_name,')')) AS cloudIP  FROM `cloud_master_cfg`