Ich muss ein einzelnes Bild zur Zeit aus dem Internet herunterladen und dann auf der SD-Karte speichern. Wie mache ich es? Ich habe einen Versuch unternommen, aber wenn ich versuche, das heruntergeladene Bild anzuzeigen, wird die Meldung "Keine Vorschau verfügbar" angezeigt. Bitte beachten Sie meinen Code unten:Bild herunterladen (SSL) und auf SD-Karte in Android speichern?
public class ImgDownloader {
private static final int IO_BUFFER_SIZE = 4 * 1024;
public static final byte[] downloadImage(String imgURL) {
byte[] data = null;
try {
Log.v("Down", "1");
InputStream in = null;
BufferedOutputStream out = null;
in = new BufferedInputStream(new URL(imgURL).openStream(), 8 * 1024);
Log.v("Down", "2");
final ByteArrayOutputStream dataStream = new ByteArrayOutputStream();
out = new BufferedOutputStream(dataStream, IO_BUFFER_SIZE);
copy(in, out);
out.flush();
Log.v("Down", "3");
data = dataStream.toByteArray();
// bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
Log.v("Down", "4");
} catch (Exception ex) {
ex.printStackTrace();
// System.out.println("Exception in Image Downloader .."
// +ex.getMessage());
}
return data;
}
private static void copy(InputStream in, OutputStream out)
throws IOException {
byte[] b = new byte[IO_BUFFER_SIZE];
int read;
while ((read = in.read(b)) != -1) {
out.write(b, 0, read);
}
}
}
Hinweis: ich habe laden Sie das Bild von der SSL-Verbindung.
Irgendwelche Ideen? Danke im Voraus.