Bitmap gibt Null von BitmapFactory.decodeFile (Dateiname) zurück
Wenn ich den Aufruf dieser Funktion gibt es keine Bild in Bild Ansicht
bitmapFactory.decodefile(filename)
zeigt null .. bitte um Hilfe.
Hier ist mein code :
public Bitmap ShowImage(String imageName,String userImageName )
{
File sdcard_mainDirectory = new File(Environment.getExternalStorageDirectory(),"UserImages").getAbsoluteFile();
File file = new File(sdcard_mainDirectory, userImageName).getAbsoluteFile();
if (file != null) {
try {
String imageInSD = "/sdcard/UserImages/"+userImageName;
Bitmap bitmap = BitmapFactory.decodeFile(imageInSD);
return bitmap;
}
catch (Exception e) {
e.printStackTrace();
}
}
return null;
}
Kommentar zu dem Problem
Poste den stackTrace.
InformationsquelleAutor der Frage Sumit Patel | 2011-12-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hallo es ist
null
da kann das Bild groß ist und die erste Ausnahme bitte überprüfen Sie Ihre log-und sehen, gibt es eine Fehlermeldung outofmemory-bitmap-wenn ja, dann verwenden Sie die Optionen für das:InformationsquelleAutor der Antwort kalpana c
Warum machst du das String imageInSD = "/sdcard/UserImages/"+userImageName;
Ich denke Wenn man einen .png-Datei vorhanden ist, dann nur,
HINWEIS: Auch prüfen, ob Sie ein unterstütztes Android-image-Datei vorhanden ist in dieser Lage..
InformationsquelleAutor der Antwort user370305
Versuchen Sie, fügen Sie die SD-Karte zugreifen, Berechtigungen READ_EXTERNAL_STORAGE und/oder WRITE_EXTERNAL_STORAGE.
Es funktioniert für mich.
InformationsquelleAutor der Antwort eyal
Ganz einfach: deine Datei ist entweder kein Bild oder ein Bild, dass ist nicht unterstützt von Android-Bitmap-Implementierung, oder Sie Pfad ist ungültig.
Finden Sie in der Dokumentation für
BitmapFactory.decodeFile(String Datei)
:In der Regel als bitmap kann nicht entschlüsselt werden einige Protokolle werden gedruckt, um logcat. Prüfen Sie sorgfältig.
InformationsquelleAutor der Antwort inazaruk
Sicher sein, dass in deinen Optionen (BitmapFactory.Optionen) der InJustDecodeBounds eingestellt ist false oder andernfalls den Wert null zurück.
Dies kann auf true gesetzt werden, wenn Sie wollen einfach nur die Datei entschlüsselt werden, aber Sie brauchen es nicht weiter im code. Diese Weise keine zusätzlichen Speicher benötigt werden, zugewiesen. Sehen hier weitere Erklärung.
InformationsquelleAutor der Antwort Jeroen VL
Den
BitmapFactory.decodeFile()
wird ausgeführt, bevor das gesamte Bild zu platzieren, dass der genaue Pfad. WenndecodeFile()
ausführt, gibt es kein Bild. Also die bitmap zurücknull
. In der Regel die high-pixel-Bilder dauert etwas mehr Zeit, um Platz in Ihrem Pfad. Also diese exception passiert.Bitte überprüfen Sie die null-und versuchen, decodeFile.
InformationsquelleAutor der Antwort Venkatagiri K
Mir fehlte Laufzeit die überprüfung der Berechtigungen auf API-Ebene, die größer als 16.
InformationsquelleAutor der Antwort mallaudin