getCount(), getItem(), getItemId(), getView()をOverrideしました。
getView()でImageViewをVideoクリップから作成しています。
getCount()は、SD Cardに含まれるVideoクリップの数を返します。
public int getCount() {
Cursor c = managedQuery(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, null, null, null,null); return c.getCount(); }
getItem()は未使用です。
public Object getItem(int arg0) { return null; }getItemId()も未使用です。
public long getItemId(int position) { return 0; }次は、getView()です。
Cursorを生成して、positionを移動します。本Appでは、Viewのposition = Cursorのpositionとしています。.
Cursor c = managedQuery(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, null, null, null,null); c.moveToPosition(position);CursorからVideoクリップの格納場所(Path)を取得します。
int dataIndex = c.getColumnIndex(MediaStore.Video.Media.DATA); String path = c.getString(dataIndex);ビデオクリップからBitmapを生成します。
Bitmap bmp = ThumbnailUtils.createVideoThumbnail(path,MediaStore.Video.Thumbnails.MINI_KIND );BitmapをImageViewに格納します。
imageView.setImageBitmap(bmp);BaseAdapterのサブクラスをGridViewにAdapterします。
mGridView = (GridView)findViewById(R.id.gridView1); mGridView.setAdapter(new ImageAdapter());ソースコードです。.
0 件のコメント:
コメントを投稿