1

大量の .jpeg リンクから画像をダウンロードして、カスタム ギャラリーに表示したいと考えています。

画像をダウンロードしたり、ビットマップを作成したりできます...

Androidギャレーに画像を入力するには、次を使用します

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

カスタムギャラリーで特定の画像のみを表示するには、次のコードを使用します

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

でも今

スキャン中に、新しくダウンロードした画像のサムネイルを作成しています。これらのサムネイルはギャラリーにも表示されます。そのため、同じ写真が 2 回表示されます。これは望ましくありません。

サムネイルの作成を避けるために誰か助けてくれませんか?それが避けられない場合は、元のファイルを削除するときにサムネイルも削除できますか??

ありがとうインアドバンス....

4

1 に答える 1

0

サムネイルを保存する1つの方法は、サムネイルデータ、元のファイルへの参照、およびサムネイルに関するその他のデータを持つカスタムオブジェクトを作成し、オブジェクトをバイナリファイルにシリアル化することです。単一のバイナリ ファイルからサムネイルを再読み込みするのは非常に高速です。サムネイルは小さいので、メモリ消費も問題になりません。

サムネイルを作成したくない場合は、画像を自分のサイズに縮小するだけでImageView、画像がきれいに表示され、サムネイルを作成する必要はありませんが、この操作は時間とメモリを大量に消費する可能性があります。

于 2012-04-14T09:01:44.490 に答える