首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >file:///android_asset不工作

file:///android_asset不工作
EN

Stack Overflow用户
提问于 2014-05-30 20:39:49
回答 3查看 13.4K关注 0票数 3

我将图像存储在assets/img/categories文件夹中,并尝试使用以下代码加载它们:

代码语言:javascript
复制
ImageLoader.getInstance().displayImage(String.format("file:///android_asset/img/categories/%d.JPG", category.getId()), mImageIv);

它看起来还可以,但不起作用:

代码语言:javascript
复制
E/ImageLoader(28790): /android_asset/img/categories/9.JPG: open failed: ENOENT (No such file or directory)
E/ImageLoader(28790): java.io.FileNotFoundException: /android_asset/img/categories/9.JPG: open failed: ENOENT (No such file or directory)

为什么它不起作用?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-05-30 20:51:08

我认为assests文件夹的URI用法如下所示

代码语言:javascript
复制
String imageUri = "assets://image.png";
imageLoader.displayImage(imageUri, imageView);

只需检查this引用

因此,您可以像这样更改代码

代码语言:javascript
复制
ImageLoader.getInstance().displayImage(String.format("assets:///img/categories/%d.JPG", category.getId()), mImageIv);

或者甚至像这样从SDCard加载它

代码语言:javascript
复制
String imageUri = "file:///mnt/sdcard/image.png"; 

如果有效,请让我知道

票数 4
EN

Stack Overflow用户

发布于 2014-05-30 20:42:14

file:///android_asset仅与WebView一起使用。

我不知道ImageLoader是什么,但看看它是否接受InputStream。如果是,请使用AssetManageropen()获取所需资产的InputStream

票数 14
EN

Stack Overflow用户

发布于 2015-04-25 14:45:56

这是一个(简化的!)帮助器例程,如果URI使用file:///android_asset/模式,则会将资产作为InputStream打开:

代码语言:javascript
复制
public static InputStream open(String urlString, Context context) throws IOException {
    URI uri = URI.create(urlString);

    if (uri.getScheme().equals("file") && uri.getPath().startsWith("/android_asset/")) {
        String path = uri.getPath().replace("/android_asset/", ""); // TODO: should be at start only
        return context.getAssets().open(path);
    } else {
        return uri.toURL().openStream();
    }
}

用法如下:

代码语言:javascript
复制
InputSteam is = Helper.open("file:///android_asset/img/categories/001.JPG", this); // "this" is an Activity, for example

未显示:异常处理。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23954878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档