Sto sviluppando un'app in cui voglio scaricare l'immagine dall'URL. Devo scaricare queste immagini in una sola volta e salvarle nella memoria interna. Ci sono più di 200 immagini da scaricare. Per favore dimmi il modo migliore per scaricare queste immagini nel minor tempo possibile. Se è disponibile una libreria di terze parti, la prego di dirlo.Il modo migliore per scaricare l'immagine dall'URL e salvarla nella memoria di archiviazione interna
Il modo migliore per scaricare l'immagine dall'URL e salvarla nella memoria di archiviazione interna
risposta
Considerare l'utilizzo di Picasso per il proprio scopo. Lo sto usando in uno dei miei progetti. Per salvare l'immagine sul disco esterno è possibile utilizzare seguente:
Picasso.with(mContext)
.load(ImageUrl)
.into(new Target() {
@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
try {
String root = Environment.getExternalStorageDirectory().toString();
File myDir = new File(root + "/yourDirectory");
if (!myDir.exists()) {
myDir.mkdirs();
}
String name = new Date().toString() + ".jpg";
myDir = new File(myDir, name);
FileOutputStream out = new FileOutputStream(myDir);
bitmap.compress(Bitmap.CompressFormat.JPEG, 90, out);
out.flush();
out.close();
} catch(Exception e){
// some action
}
}
@Override
public void onBitmapFailed(Drawable errorDrawable) {
}
@Override
public void onPrepareLoad(Drawable placeHolderDrawable) {
}
}
);
From here è possibile scaricare questa libreria.
voglio scaricare 200 immagini. per questo ho bisogno di loop per scaricare queste immagini –
@astuter puoi spiegarmi come recuperare l'immagine dopo averla salvata? – Signo
@Signo: Controlla la risposta di Dhawal Shoda parmar, in questo link: http://stackoverflow.com/a/15918369/2571277 – astuter
È possibile scaricare Th da un URL simile a questo:
URL url = new URL("http://www.yahoo.com/image_to_read.jpg");
InputStream in = new BufferedInputStream(url.openStream());
ByteArrayOutputStream out = new ByteArrayOutputStream();
byte[] buf = new byte[1024];
int n = 0;
while (-1!=(n=in.read(buf)))
{
out.write(buf, 0, n);
}
out.close();
in.close();
byte[] response = out.toByteArray();
E si può quindi desiderare di salvare l'immagine in modo da fare:
FileOutputStream fos = new FileOutputStream("C://borrowed_image.jpg");
fos.write(response);
fos.close();
- 1. Come convertire la Mappa in byte e salvarla nella memoria interna
- 2. Il modo migliore per verificare l'eccezione interna?
- 3. Scarica Doc/PDF da Internet e salva nella memoria interna
- 4. Salvataggio di file pubblici nella memoria interna
- 5. La migliore libreria di archiviazione per iOS
- 6. Condivisione di immagini archiviate nella memoria interna
- 7. Rinomina un file nella memoria interna
- 8. Scrittura nella memoria privata interna in Android
- 9. WebClient è il modo migliore per scaricare i dati http?
- 10. Elenco dei file salvati nella memoria interna
- 11. Android crea cartelle nella memoria interna
- 12. creazione della cartella nella memoria interna
- 13. Come salvare una bitmap nella memoria interna
- 14. Salvare l'immagine acquisita nella memoria interna?
- 15. Creare file XML e salvarlo nella memoria interna Android
- 16. Un modo migliore per scaricare un file binario?
- 17. Archiviazione e memorizzazione nella cache di Azure
- 18. Come decodificare la stringa base64 e convertirla in pdf/jpg e salvarla nella memoria
- 19. Memoria interna di Android VS Preferenze condivise
- 20. Archiviazione interna di Android: quali sono i limiti?
- 21. Archiviazione interna Android durante l'aggiornamento dell'applicazione
- 22. Come leggere il file immagine memorizzato nella memoria interna?
- 23. Memorizzazione di un'immagine gif nella memoria interna di Android
- 24. Il modo migliore per combinare frammenti e memorizzazione nella cache di oggetti per memcached e Rails
- 25. come salvare json array nella memoria interna di Android
- 26. Allineamento della struttura C nella memoria FLASH interna
- 27. Creazione di una directory nel pacchetto dell'applicazione nella memoria interna
- 28. Tentativo di verificare se un file esiste nella memoria interna
- 29. Tabella vista interna, all'interno di viewcontroller. Il modo migliore per farlo?
- 30. c'è una dimensione massima nella memoria interna di Android allocata per un'app?
È possibile utilizzare Picasso o Volley –
Picasso non lo fa salva queste immagini nella memoria interna. mostra direttamente su ui –
Puoi usare Volley lib e creare una richiesta personalizzata che scrive la tua immagine direttamente nella memoria del dispositivo in caso di risposta positiva. – Bubu