2014-05-22 1 views
-1

J'essaie de faire une application simple. J'ai une méthode pour retourner un InputStream et ensuite je lierai ce flux à un ImageView. Mais ça ne marche pas comme toujours. Il n'y a pas d'exception. Qu'est-ce que je fais mal. Comment puis-je faire fonctionner ce code?Confusion à propos de 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

Qu'est-ce qui se passe? Est-ce que ça ne compile pas? – DirkyJerky

Répondre

0

Le fichier que vous essayez de charger n'est pas à l'endroit où vous l'avez essayé.

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

Les bitmaps peuvent être nuls. Je suggère d'utiliser une bibliothèque de chargement asynchrone comme Picasso.