2016-05-17 6 views
1

Ich bin neu bei Android, ich versuche eine Rasteransicht von Bildern in Form von Bitmaps von einem Webservice zu bevölkern. (Ich habe keine Kontrolle über die Webservices). Ich war in der Lage, die Gridview mit Async-Task zu laden, aber wenn ich auf die Aktivität/das Fragment klicke oder abbringe, wird die Async-Aktion abgebrochen/gestoppt und die nächste Aktivität wird nicht geöffnet, bis die Async-Aufgabe abgeschlossen ist.Wie lade ich eine Gridview mit Volley Request und Glide/Picasso?

Ich hatte vorher eine Frage dazu gestellt und einer der Entwickler hier rate ich Picasso/glide. Ich bin mir nicht sicher, wie ich mit Volley die Bitmap holen und diese auf Picasso/Glide setzen kann. Bitte vorschlagen.

Antwort

1

Entschuldigung, ich kann noch nicht kommentieren. Ich will nur Kelevandos Antwort vervollständigen, indem er sagte, dass Sie hinzufügen müssen:

compile 'com.squareup.picasso:picasso:2.5.2' 

in Ihrer build.gradle (APP) oder Maven:

<dependency> 
    <groupId>com.squareup.picasso</groupId> 
    <artifactId>picasso</artifactId> 
    <version>2.5.2</version> 
</dependency> 

Picasso importieren. Here ist die Verbindung zu Picassos Hauptseite, die mit mehr Details verschiedene verfügbare Funktion erklärt.

+0

Ich habe keine URL für jedes Bild, da ich einen Webservice anrufe und die Details des Bildes über XML einsende. – chitra

+0

Sie können den Aufruf von Picasso '.load()' mit einer URL, einem Zeichensatz, einer Datei oder einem String eines Dateipfades ausführen. Wenn Sie eine Bitmap haben, können Sie eine Datei erstellen und diese Datei verwenden, um es zu laden – Sunshinator

+0

ok wird das versuchen, aber wudnt, die das Laden langsamer machen? – chitra

3

Sie so nicht mit Picasso verwendet Volley noch Glide :-) In dem Ort, an dem Sie Daten in die Artikel Ansicht des Gridview setzen Sie einfach die Methode aus der Bibliothek rufen Sie das Bild von einer URL zu laden :)

mit Picasso es wie folgt aussehen:

Picasso.with(context) 
    .load(url) 
    .into(imageView); 

Und mit Glide wie folgt aus: nur

Glide.with(context) 
    .load(url) 
    .into(imageView); 

so einfach ist das, die Bibliothek für den Rest macht :-) verwenden Sie auch einer von ihnen, nicht beides. Ich würde Picasso vorschlagen, es ist einfacher, mit meiner Erfahrung anzufangen.

+0

Der einzige Grund, warum ich beide verwenden möchte, ist, dass ich Bilder von einem Webservice herunterlade, an den ich ein XML mit Bildinformationen sende. Ich weiß nicht, wie ich das mit Picasso machen könnte. – chitra