Downloaden und Speichern Sie Bilder Mit Picasso
Ich versuche zu zeigen, dass meine news in einem benutzerdefinierten ListView. Jeder news enthalten ist, von einigen Bilder und ich will
1.download Bilder vom server
2.speichern im lokalen Speicher
3.speichern Pfad von Bilder in SQLite
4.zeigen Bilder in ListView mit meine eigene adapter.
Ich nur das problem mit den Schritten 1 & 2. Ich kann news vom server und zeige Ihnen in meinem ListView
und zeigen Bilder aus dem cache, indem Sie fügen Sie folgenden code in meine adapter:
Picasso.with(context).load(image[position]).into(iv);
Mithilfe Picasso.with(context).load(image[position]).into(target)
nur ich kann spart man
Bild im Speicher.
Bitte schlagen Sie mir Ihre Idee ...
UPDATE: Wenn ich folgenden code verwenden, nur ein Bild (letzter index von " mein Bild-array) gespeichert werden!
Wie kann ich speichern Sie alle Bilder in array, das mit diesem code?!
@Override
protected void onPostExecute(Void result) {
SaveImages();
pDialog.dismiss();
super.onPostExecute(result);
}
String fileName = null;
public void SaveImages() {
for(int i = 0; i < image.length; i++) {
Picasso.with(this).load(image[i]).into(target);
fileName = "image-" + i + ".jpg";
}
}
Target target = new Target() {
@Override
public void onPrepareLoad(Drawable arg0) {
}
@Override
public void onBitmapLoaded(Bitmap bitmap, LoadedFrom arg1) {
File file = new File(Environment.getExternalStorageDirectory().getPath() +"/" + fileName);
try {
file.createNewFile();
FileOutputStream ostream = new FileOutputStream(file);
bitmap.compress(CompressFormat.JPEG, 75, ostream);
ostream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void onBitmapFailed(Drawable arg0) {
}
};
InformationsquelleAutor der Frage Farshad Kazemi | 2015-01-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen "Target Target-definition" vor dem "Picasso.mit(dieser).laden(Bild[i]).in(Ziel)".
P. S. Hier habe ich diesen code verwenden und speichern von Bildern. Vielen Dank, trotzdem.
Mein Code:
InformationsquelleAutor der Antwort MewX
Custom-target für die Speicherung von Foto in Telefons Galerie.
InformationsquelleAutor der Antwort maros136
obwohl dieser Beitrag schon alt ist, es scheint die Frage noch nicht beantwortet.
Lesen Sie Ihren code, es scheint, dass der Anruf, den Sie machen, zu picasso sein könnte asynchron.
Sie sollten auf jeden Fall prüfen, wenn es der Fall ist, beginnen Sie
image.length
Aufgaben, die änderung der Dateinamen bei jeder neuen Aufgabe, führenden alle Aufgaben zu erfüllen, und speichern Sie den letzten Namen, der gesetzt wurde.Um dieses Problem zu lösen, sollten Sie Außerkraftsetzung Konstruktor und fügen Sie einen parameter mit dem Namen, so ist es bereit, wenn die Aufgabe beendet wird, in Ihrem
onBitmapLoaded
Zuhörer.InformationsquelleAutor der Antwort Kristo