我在android LogCat
03-20 01:45:03.362: WARN/System.err(369): java.io.FileNotFoundException: /mnt/sdcard/LazyList/-2012431329 (No such file or directory)
03-20 01:45:03.362: WARN/System.err(369): at org.apache.harmony.luni.platform.OSFileSystem.open(Native Method)
03-20 01:45:03.372: WARN/System.err(369): at dalvik.system.BlockGuard$WrappedFileSystem.open(BlockGuard.java:232)
03-20 01:45:03.382: WARN/System.err(369): at java.io.FileOutputStream.<init>(FileOutputStream.java:94)
03-20 01:45:03.382: WARN/System.err(369): at java.io.FileOutputStream.<init>(FileOutputStream.java:66)
03-20 01:45:03.392: WARN/System.err(369): at com.ImageLoaders.ImageLoader.getBitmap(ImageLoader.java:86)
用于在Android模拟器中下载图像 我在androidManifest.xml文件中添加了Internet权限,但看起来它不起作用。 我也给了android模拟器10MB的空间。
任何一个人都会指导我可能出现什么问题? 提前谢谢。
答案 0 :(得分:28)
我解决了添加权限的问题:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
答案 1 :(得分:1)
ImageLoader构造函数应该更改为此。
public ImageLoader(Context context) {
// Make the background thead low priority. This way it will not affect
// the UI performance
photoLoaderThread.setPriority(Thread.NORM_PRIORITY - 1);
// Find the dir to save cached images
if (android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED))
cacheDir = new File(context.getCacheDir(), "LazyList");
else
cacheDir = context.getCacheDir();
if (!cacheDir.exists())
cacheDir.mkdirs();
}
默认情况下就是这样
cacheDir = new File(android.os.Environment.getDataDirectory(), "LazyList");
您应该将其更改为
cacheDir = new File(context.getCacheDir(), "LazyList");
我在Android 2.1中100%解决了我的问题。
答案 2 :(得分:0)
您似乎在搜索以下目录或文件:
/mnt/sdcard/LazyList/-2012431329
这看起来有点奇怪。无法找到此文件或目录,因为它不是有效名称。你确定这是正确的名字吗?