首页 > 代码库 > Android从服务端下载图片问题

Android从服务端下载图片问题

============问题描述============


下图是我的Myeclipse项目的webroot文件夹,

我想下载这个文件夹中的图片,可是我发现出现了诡异的错误。除了test01_upload_1.jpg以外,其它的图片都显示FileNotFoundException。
下面是我的测试代码和错误信息。
package com.example.imagedownload;

import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;

import android.app.Activity;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.ImageView;

public class MainActivity extends Activity {

	private ImageView imageView;
	private String imageUrl = "http://10.0.2.2:8080/BBStuServlet/573da5540dee470f9ec41de207e83b73.jpg";

	final Handler handler = new Handler() {
		@Override
		public void handleMessage(Message msg) {
			System.out.println(msg.obj);
			imageView.setImageDrawable((Drawable) msg.obj);
		}
	};

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		imageView = (ImageView) findViewById(R.id.imageView1);

		new Thread(new Runnable() {

			@Override
			public void run() {
				try {
					Drawable drawable = Drawable.createFromStream(new URL(
							imageUrl).openStream(), "image.jpg");
					System.out.println("draw = " + drawable);
					Message msg = new Message();
					msg.obj = drawable;
					handler.sendMessage(msg);
				} catch (MalformedURLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}).start();

	}

}



09-28 12:29:28.243: E/SurfaceFlinger(37): ro.sf.lcd_density must be defined as a build property
09-28 12:29:28.334: E/Trace(3029): error opening trace file: No such file or directory (2)
09-28 12:29:28.684: W/System.err(3029): java.io.FileNotFoundException: http://10.0.2.2:8080/BBStuServlet/573da5540dee470f9ec41de207e83b73.jpg
09-28 12:29:28.724: W/System.err(3029): 	at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:186)
09-28 12:29:28.724: W/System.err(3029): 	at java.net.URL.openStream(URL.java:462)
09-28 12:29:28.724: W/System.err(3029): 	at com.example.imagedownload.MainActivity$2.run(MainActivity.java:40)
09-28 12:29:28.735: W/System.err(3029): 	at java.lang.Thread.run(Thread.java:856)
09-28 12:29:28.774: E/SurfaceFlinger(37): ro.sf.lcd_density must be defined as a build property



好奇怪的问题,如果是全都下载不了,可能是代码或者配置的问题,可是有的能下载,有的不能,实在是很奇怪。哪位大神能帮我解决下,困扰两天了。

============解决方案1============


你没发现你的其他图片的权限和1.jpg 的权限不一样吗?你查一下怎么改对,然后应该就 Ok 了
 
ps:无论哪个平台开发 android 都一样了,开发工具都是一致的,没什么差异的

Android从服务端下载图片问题