ich die folgende Methode eine Datei in den Cache zu schreiben:android Schreiben Bilder zwischenzuspeichern nicht null Rückkehr auf dekodieren Datei
private Bitmap getBitmap(String url) {
String filename = String.valueOf(url.hashCode());
File f = new File(cacheDir, filename);
// Is the bitmap in our cache?
Bitmap bitmap = BitmapFactory.decodeFile(f.getPath());
if(bitmap != null) return bitmap;
// Nope, have to download it
try {
bitmap = BitmapFactory.decodeStream(new URL(url).openConnection().getInputStream());
// save bitmap to cache for later
writeFile(bitmap, f);
return bitmap;
} catch (Exception ex) {
ex.printStackTrace();
return null;
}
}
Das Problem ist, dass ist, dass in der Leitung: if (Bitmap = null) Rückgabe Bitmap;
Diese Bedingung gibt nie null zurück, so dass das zwischengespeicherte Bild nie zurückgegeben wird. Wie kann ich sehen, ob die Dekodierung der Datei tatsächlich fehlgeschlagen ist?
Ich weiß, dass das Bild richtig geschrieben wird, weil ich die folgende Protokollausgabe für den Speicherort der Datei erhalten:
/data/data/com.example/cache/1562036938
Vielen Dank für Ihre Hilfe.