Domanda

Ho un file .gif all'interno della cartella del patrimonio come questo patrimonio / Files / android.gif. quando provo ad aprire il file viene generata un'eccezione alla seconda linea

AssetManager mngr=getAssets();
InputStream is2=mngr.open("Files/android.gif");

Quindi è che sto cercando di aprire un file immagine, nonostante che lo stesso codice funziona se provo ad aprire un file di testo? che cosa può essere il problema qui.

È stato utile?

Soluzione

Queste linee sono perfettamente funzionanti -

InputStream assetInStream=null;

try {
    assetInStream=getAssets().open("icon.png");
    Bitmap bit=BitmapFactory.decodeStream(assetInStream);
    img.setImageBitmap(bit);
} catch (IOException e) {
    e.printStackTrace();
} finally {
    if(assetInStream!=null)
    assetInStream.close();
}

Se l'immagine è molto grande, allora si dovrebbe scalare l'immagine prima decodifica in bitmap. vedere Come visualizzare immagine di grandi dimensioni in modo efficiente

Altri suggerimenti

Ho il sospetto che si stanno ottenendo lamentele per non gestita tipo di eccezione IOException. Se questo è il caso, è necessario mettere la chiamata a mgr.open in un blocco try-catch per gestire l'eccezione che possono verificarsi durante il recupero l'oggetto InputStream.

AssetManager mngr = getAssets();
try {
    InputStream is2 = mngr.open("Files/android.gif");
} catch (final IOException e) {
    e.printStackTrace();
}

Non so se le cose sono cambiate o no, ma ho avuto un app in Android 1.1 che ha aperto le icone per poi visualizzarli in una vista e l'ho fatto in questo modo:

BufferedInputStream buf = new BufferedInputStream(mContext.openFileInput(value));
Bitmap bitmap = BitmapFactory.decodeStream(buf);

Credo che il modo migliore per farlo è quello di mettere la vostra immagine nella cartella res / drawable. Poi si può ottenere un Drawable in questo modo:

Drawable d = Resources.getSystem().getDrawable(R.drawable.android);

Mina, ho avuto lo stesso problema ... ho avuto le immagini e un file XML all'interno di "attività" e ho potuto leggere il file XML, ma non le immagini. Dopo un paio di ore di frustrazione ho finalmente trovato la soluzione!

ho postato la soluzione qui: null- problema puntatore visualizzazione di un'immagine da attività cartella di Android 2.2 SDK

Non credo gif è supportata automaticamente su Android. Provare con un png o jpg con lo stesso codice.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top