1

これはばかげたものかもしれませんが、Android は初めてなので、ご容赦ください。次のようなリモート URL を使用してビデオのサムネイルを表示するアプリに取り組んでいます。

ビデオの URL: http://173.193.24.66/~kanz/video/flv/9.flv

.JPG URL: http://173.193.24.66/~kanz/video/Images/9.jpg

SQL データベースに保存されているサムネイルに表示するビデオ URL と画像ファイル URL の両方を取得しました。唯一のことは、それらを ScrollView 内のリスト ビューに配置する方法がわからないことです。インターネットで検索してみましたが、SD カード パスから動画のサムネイルを表示する方法についてのチュートリアルが提供されているようです。これらの URL のいずれかを使用してビデオのサムネイルを表示したいと考えています。API について聞いたことがありますが、YouTube は私の国では禁止されているため、Youtube API を使用できません。便利な API やその他の裏技を知っている人がいたら教えてください。高く評価されます。ジンジャーブレッドを使用しています。

4

3 に答える 3

1

これらのチュートリアルは正しいですが、ステップがありません。最初に URL を使用してこれらのイメージをデバイスにダウンロードする必要があります。次に、それらをリストビューで表示するように設定できます。

これらのスレッドでこれを行う方法を参照してください。

画像のダウンロードとキャッシュを自動的に処理する人気のあるオープン ソース ライブラリがあります。見てみな:

https://github.com/koush/UrlImageViewHelper

于 2013-03-23T11:26:09.153 に答える
1

リストビューには独自のスクロールがあります。そのため、リストビューをスクロール ビュー内に配置しないでください。

カスタム リストビューを使用してサムネイルを表示します。

データベースから URL を取得します。

http://www.androidhive.info/2012/02/android-custom-listview-with-image-and-text/

http://www.youtube.com/watch?v=wDBM6wVEO70。トークはリストビューとパフォーマンスについてです。

ビューホルダーを使用します。http://developer.android.com/training/improving-layouts/smooth-scrolling.html .

リストビューに多数の画像を表示している場合は、以下のライブラリのいずれかを使用することを検討してください。

1.ユニバーサルイメージローダー。https://github.com/nostra13/Android-Universal-Image-Loader .

2.レイジーリスト。https://github.com/thest1/LazyList .

どちらもキャッシュを使用します。

ユニバーサル イメージ ローダーの場合

アダプターコンストラクターで

  File cacheDir = StorageUtils.getOwnCacheDirectory(a, "UniversalImageLoader/Cache");
  imageLoader = ImageLoader.getInstance();

   ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(a)
          // You can pass your own memory cache implementation
         .discCache(new UnlimitedDiscCache(cacheDir)) // You can pass your own disc cache implementation
         .discCacheFileNameGenerator(new HashCodeFileNameGenerator())
         .enableLogging()
         .build();
 // Initialize ImageLoader with created configuration. Do it once.
 imageLoader.init(config);
 options = new DisplayImageOptions.Builder()
.showStubImage(R.drawable.stub_id)//dummy image
.cacheInMemory()
.cacheOnDisc()
.displayer(new RoundedBitmapDisplayer(20))
.build();

getview() で

  ImageView image=(ImageView)vi.findViewById(R.id.imageview); 
  imageLoader.displayImage(imageurl, image,options);
于 2013-03-23T11:27:22.210 に答える