【问题标题】:To load images from Folder placed in Assets Folder using androidStudio使用 android Studio 从放置在 Assets 文件夹中的文件夹加载图像
【发布时间】:2014-12-27 03:06:26
【问题描述】:

使用 Android Studio。我在 app/main/src 创建了 Asset 文件夹。我将图像粘贴到资产文件夹中,它们很容易访问。但是当我在名为“文件”的资产文件夹中创建另一个文件夹并尝试读取该图像时。它们没有显示。请帮助我阅读位于 assets 文件夹中名为“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();
    }

【问题讨论】:

    标签: android android-studio assets


    【解决方案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;
            }
    
        }
    

    希望对你有帮助!!!

    【讨论】:

      【解决方案2】:

      我知道这是一个迟到的回复,但我正在尝试和你一样...... 唯一缺少的是打开函数中的文件路径。此外,它不适用于位图,但适用于可绘制对象。 在下面试试这个,它应该可以工作。 :)

      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();
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-07-28
        • 1970-01-01
        • 1970-01-01
        • 2015-04-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-21
        相关资源
        最近更新 更多