WEB开发网
开发学院手机开发Android 开发 android 网络图片下载的实现方式及注意事项 阅读

android 网络图片下载的实现方式及注意事项

 2010-08-20 02:03:00 来源:WEB开发网   
核心提示:android 从网上下载一个图片到本地的一般方式:使用Activity调用这个方法就可以了public class NetTool {public static void main(String[] args){try {//得到图片地址byte[] data = readImage("http://img

android 从网上下载一个图片到本地的一般方式:

使用Activity调用这个方法就可以了

public class NetTool {

public static void main(String[] args){

try {

//得到图片地址

byte[] data = readImage("http://imgsrc.baidu.com/forum/pic/item/b2738bd49f8fd32da18bb7a4.jpg");

FileOutputStream outStream = new FileOutputStream(new File("Img271728976.jpg"));

outStream.write(data);

//关闭流的这个地方需要完善一下

outStream.close();

} catch (Exception e) {

e.printStackTrace();

}

}

//声明称为静态变量有助于调用

public static byte[] readImage(String path) throws Exception{

URL url = new URL(path);

// 记住使用的是HttpURLConnection类

HttpURLConnection conn = (HttpURLConnection)url.openConnection();

conn.setRequestMethod("GET");

//如果运行超过5秒会自动失效 这是android规定

conn.setConnectTimeout(5*1000);

InputStream inStream = conn.getInputStream();

//调用readStream方法

return readStream(inStream);

}

public static byte[] readStream(InputStream inStream) throws Exception{

//把数据读取存放到内存中去

ByteArrayOutputStream outSteam = new ByteArrayOutputStream();

byte[] buffer = new byte[1024];

int len = -1;

while( (len=inStream.read(buffer)) != -1){

outSteam.write(buffer, 0, len);

}

outSteam.close();

inStream.close();

return outSteam.toByteArray();

}

下载网络图片时注意事项:

开发android软件,有时需要用到下载网络图片。在使用的过程中,如果网络比较慢的话,则会出现下载不成功的问题。采用如下方法,可以比较好的解决这个问题。

一般我们会用以下的代码:

//获取connection,方法略

conn = getURLConnection(url);

1 2  下一页

Tags:android 网络 图片下载

编辑录入:coldstar [复制链接] [打 印]
赞助商链接