2014-05-22 4 views
-1

간단한 응용 프로그램을 만들려고합니다. InputStream을 반환하는 메서드가 있고이 스트림을 ImageView에 바인딩합니다. 그러나 그것은 항상 작동하지 않습니다. 예외는 없습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까. 이 코드를 어떻게 실행시킬 수 있습니까?InputStream에 대한 혼란

String[] names; 
Bitmap bmp; 
ImageView img; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    AssetManager am=getAssets(); 
    img = (ImageView)findViewById(R.id.imageView1); 
    try { 
     names=am.list("myfiles"); 
     InputStream is=bitmapStream(names[1]); 
     bmp =BitmapFactory.decodeStream(is); 
     img.setImageBitmap(bmp); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
} 

public InputStream bitmapStream(String name) throws FileNotFoundException { 
    InputStream is = null; 
    is = openFileInput(name); 
    return is; 
} 
+0

무슨 일? 컴파일되지 않았습니까? – DirkyJerky

답변

0

로드하려는 파일이로드하려는 위치에 있지 않습니다.

try { 
     String folder = "myfiles"; 
     names=am.list(folder); 
     InputStream is= am.open(folder+"/"+names[0]); 
     bmp =BitmapFactory.decodeStream(is); 
     img.setImageBitmap(bmp); 
    } 
0

비트 맵은 null 일 수 있습니다. Picasso과 같은 비동기 로딩 라이브러리를 사용하는 것이 좋습니다.