import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL; import org.junit.Test; public class InternetTest
{ @Test
public void getImage() throws Exception
{
// fail("Not yet implemented");
// 首先我们要得到请求的路径,路径为我们想要得到的资源
String urlpath = "http://pica.nipic.com/2008-05-23/200852381811521_2.jpg";
// 建立URL对象,抛出异常
URL url = new URL(urlpath);
// 得到HttpURLConnection对象
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
// 声明请求方式
conn.setRequestMethod("GET");
// 设置连接超时
conn.setConnectTimeout(6 * 1000);
// 连接成功
if (conn.getResponseCode() == 200)
{
// 得到服务器传回来的数据,相对我们来说输入流
InputStream inputStream = conn.getInputStream();
// 得到数据
byte[] data = readInStream(inputStream);
// 创建保存文件
File file = new File("xiaocai.jpg");
// 创建一个文件输出流
FileOutputStream outputStream = new FileOutputStream(file);
// 将我们所得的二进制数据全部写入我们建好的文件中
outputStream.write(data);
// 关闭输出流
outputStream.close();
} } // 读取流文件的内容
public byte[] readInStream(InputStream inputStream) throws Exception
{
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
// 声明缓冲区
byte[] buffer = new byte[1024];
// 定义读取默认长度
int length = -1;
while ((length = inputStream.read(buffer)) != -1)
{
// 把缓冲区中输出到内存中
byteArrayOutputStream.write(buffer, 0, length);
}
// 关闭输出流
byteArrayOutputStream.close();
// 关闭输入流
inputStream.close();
// 返回这个输出流的字节数组
return byteArrayOutputStream.toByteArray();
}
}

Android · 获取网络图片的更多相关文章

  1. Android获取网络图片应用示例

    1.养成好习惯,配置字符串资源文件 strings.xml <?xml version="1.0" encoding="utf-8"?> <r ...

  2. Android——获取网络图片

    布局 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:too ...

  3. Android获取网络图片

    /** * * 访问网络的操作,必须放在工作线程中完成 * */ public class MainActivity extends Activity { static List<HashMap ...

  4. android 获取http网络图片保存png

    1.android 获取网络图片的方式很多,普通网络通信的方式都可以用在获取网络图片上. android   http获取数据常用的方式: 1.Apache接口(HttpClient) 2.标准Jav ...

  5. URL转Drawable之 Android中获取网络图片的三种方法

    转载自: http://doinone.iteye.com/blog/1074283 Android中获取网络图片是一件耗时的操作,如果直接获取有可能会出现应用程序无响应(ANR:Applicatio ...

  6. [转]Android 如何根据网络地址获取网络图片方法

    http://blog.csdn.net/xiazdong/article/details/7724103 目录(?)[-] h2pre namecode classhtml stylefont-we ...

  7. Android 下载网络图片保存到本地

    通过网络地址获取网络图片,点击下载将图片显示出来,然后点击图片将图片保存到本地. 首先需要在manifest上添加一些权限: <!-- 访问网络的权限 --> <uses-permi ...

  8. 分享一个安卓中异步获取网络图片并自适应大小的第三方程序(来自github)

    安卓中获取网络图片,生成缓存 用安卓手机,因为手机流量的限制,所以我们在做应用时,要尽量为用户考虑,尽量少耗点用户的流量,而在应用中网络图片的显示无疑是消耗流量最大的,所以我们可以采取压缩图片或者将图 ...

  9. android下载网络图片,设置宽高,等比缩放

    使用Picasso组件去下载图片会发现图片宽高会变形不受等比缩放控制,即使设置了图片的 scaleType,可能是对Picasso的api没有用对, Picasso.with(this.activit ...

随机推荐

  1. Newton 插值法

    定义 $f(x)$ 关于 $x_0, x_1, \dots, x_k$ 的 $k$ 阶均差(差商)记做 $ f [x_0, x_1, \dots, x_k] $,均差是递归定义的,有两种等价定义 \b ...

  2. SGU 乱搞日志

    SGU 100 A+B :太神不会 SGU 101 Domino: 题目大意:有N张骨牌,两张骨牌有两面有0到6的数字,能相连当且仅当前后数字相同,问能否有将N张骨牌连接的方案?思路:裸的欧拉回路,注 ...

  3. codechef May Challenge 2016 FORESTGA: Forest Gathering 二分

    Description All submissions for this problem are available. Read problems statements in Mandarin Chi ...

  4. kvm虚拟化实践

    .环境初始化 [root@localhost ~]# hostnamectl set-hostname kvm-node1 [root@kvm-node1 ~]# sed -i '/SELINUX=/ ...

  5. Mysql 取整的方法

    .CEIL() 向上取整 SELECT CEIL(/); .FLOOR() 向下取整 SELECT FLOOR( .ROUND() 四舍五入 SELECT ROUND(

  6. C#Url传递中文参数时解决方法

    原文发布时间为:2008-11-05 -- 来源于本人的百度文章 [由搬家工具导入] 1.设置web.config文件。<system.web> <globalization req ...

  7. EOJ Monthly 2018.2

    A. 坑爹的售票机 题意 用\(1,5,10,25,50,100\)的纸币买\(n\)张单价为\(p\)的船票,且一次性最多买\(k\)张,求钱数恰好时最少需要多少张纸币. Hard: \(n,k,p ...

  8. C++中STL常用容器的区别(转)

    我们常用到的STL容器有vector.list.deque.map.multimap.set和multiset,它们究竟有何区别,各自的优缺点是什么,为了更好的扬长避短,提高程序性能,在使用之前需要我 ...

  9. 转 C/C++内存分配方式与存储区

    C/C++内存分配方式与存储区 C/C++内存分配有三种方式:[1]从静态存储区域分配.内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在.例如全局变量,static变量.[2]在栈 ...

  10. LeetCode OJ-- Binary Tree Maximum Path Sum ***

    https://oj.leetcode.com/problems/binary-tree-maximum-path-sum/ 给一棵二叉树,路径可以从任一点起,到任一点结束,但是可以连成一个路径的.求 ...