2014-12-27 2 views
0

Android Studio 사용. app/main/src에 Asset 폴더를 만들었습니다. 쉽게 액세스 할 수있는 자산 폴더에 이미지를 붙여 넣습니다. 그러나 자산 폴더에 "Files"라는 다른 폴더를 만들고 해당 이미지를 읽으려고합니다. 그들은 표시되지 않습니다. 자산 폴더의 "파일"폴더에있는 이미지를 읽도록 도와주세요.androidStudio를 사용하여 자산 폴더에있는 폴더의 이미지를로드하려면

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

답변

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

    } 

나는 그것이 도움이되기를 바랍니다 !!!

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(); 
    } 
관련 문제