使用android Studio从Assets文件夹中放置的文件夹加载图像

时间:2014-12-27 03:06:27

标签: android android-studio assets

使用Android Studio。我在app / main / src中创建了Asset文件夹。我将图像粘贴到资产文件夹中,方便访问。但是当我在资产文件夹中创建了一个名为" Files"并尝试阅读该图像。他们没有显示。请帮我看看放在名为" files"的文件夹中的图像。在资产文件夹中。

  ImageView img = (ImageView) findViewById(R.id.img);
  AssetManager manager = getAssets();
  try {
        String[] file = manager.list("Files");
        for (int i = 0; i < file.length; i++) {
                  try {
        InputStream imgStream ;
        imgStream = manager.open(file[i]);
        Bitmap bitmap = BitmapFactory.decodeStream(imgStream);
        img.setImageBitmap(bitmap);

    } catch (IOException e) {
        e.printStackTrace();
    }

        }
    } catch (IOException e) {
        e.printStackTrace();
    }

2 个答案:

答案 0 :(得分:1)

尝试这样做。将此方法加载到您想要使用它的任何地方

public void loadDataFromAsset() {

        // load image
        try {
            // get input stream
            InputStream ims = getAssets().open("your_image.extension");
            // load image as Drawable
            Drawable d = Drawable.createFromStream(ims, null);
            // set image to ImageView
            yourImageView.setImageDrawable(d);
        }
        catch(IOException ex) {
            return;
        }

    }

我希望它有所帮助!!!

答案 1 :(得分:0)

我知道这是一个迟到的回复,但我和你一样尝试... 唯一缺少的是函数open中的文件路径。它也不适合我使用Bitmap,但使用Drawable。 试试这个,它应该工作。 :)

ImageView img = (ImageView) findViewById(R.id.img);
  AssetManager manager = getAssets();
  try {
        String[] file = manager.list("Files");
        for (int i = 0; i < file.length; i++) {
            try {
                InputStream imgStream ;
                imgStream = manager.open("Files/" + file[i]);
                Drawable d = Drawable.createFromStream(imgStream, null);
                im.setImageDrawable(d);

            } catch (IOException e) {
                e.printStackTrace();
            }

        }
    } catch (IOException e) {
        e.printStackTrace();
    }