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

Schreibe einen Kommentar