2012-04-13 18 views
1

Ich möchte Bilder von Bundle .jpeg Links herunterladen und dann in benutzerdefinierte Galerie zeigen.Laden Sie Bilder von Links und zeigen Sie in Android benutzerdefinierte Galerie

Ich bin in der Lage Bilder herunterzuladen, zu erstellen Bitmap und all ...

Zum Eintrag des Bildes in android Galeere zu machen, verwende ich

MediaScannerConnection.scanFile(obContext, new String[] { f.getAbsolutePath() }, null, null); 

und nur die bestimmten Bilder in meiner Gewohnheit zu sehen Galerie ich benutze folllowing Code

Cursor imagecursor=managedQuery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, 
     columns, 
      MediaStore.Images.Media.DATA + " like ? ", 
      new String[] {"%myDesiredDirectory%"}, 
      null); 

Aber jetzt

Während s canning, erstellt Thumbnails für neu heruntergeladene Bilder. Diese Miniaturansichten sind auch in der Galerie sichtbar. Das gleiche Bild ist also zweimal sichtbar. Was nicht erwünscht ist.

Kann mir bitte jemand helfen, zu vermeiden Erstellen von Thumbnails, und wenn es nicht vermeidbar ist, können wir Thumbnails auch löschen, wenn wir Originaldateien löschen ??

Dank inn Voraus ....

Antwort

0

eine Möglichkeit, Ihre Thumbnails zu speichern wäre benutzerdefinierte Objekt zu schaffen, die Thumbnail-Daten Verweis auf Original-Datei und einige andere Daten über Miniatur haben wird und dann die Objekte serialisiert in eine Binärdatei. Es wird sehr schnell sein, die Thumbnails aus einer einzelnen Binärdatei zurück zu laden. Thumbnails sind klein, Speicherverbrauch sollte also kein Problem sein.

Wenn Sie keine Thumbnails erstellen möchten, skalieren Sie einfach die Bilder auf die Größe Ihrer ImageView und so werden die Bilder schön angezeigt und Sie müssen keine Thumbnails erstellen, aber diese Operation kann Zeit und sein Speicher expansiv.

+0

Aber ich weiß nicht, was ist ihr Name und genaue Position und wann sie erstellt werden ... Können Sie einige Code-Snippet, um dieses Ding der Binärdatei Erstellung, Serialisierung usw. zu verstehen? Danke vielmals. – adityag