1. Create a layout for VideoList named main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <ListView android:id="@+id/PhoneVideoList" android:layout_width="fill_parent" android:layout_height="fill_parent"/> </LinearLayout>
2. Create a layout for list item named listitem.xml
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="10dp"> <ImageView android:id="@+id/imgIcon" android:layout_width="60dip" android:layout_height="60dip" android:paddingLeft="10dip" android:paddingRight="10dip"/> <LinearLayout android:id="@+id/linearLayout1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:layout_marginRight="10dip"> <TextView android:id="@+id/txtTitle" android:layout_width="250dip" android:layout_height="wrap_content" android:gravity="left" android:textStyle="normal" android:textSize="15dp" android:textColor="#FF0000" android:layout_marginTop="5dp" android:layout_marginBottom="5dp" /> <TextView android:id="@+id/txtSize" android:layout_width="250dip" android:layout_height="wrap_content" android:gravity="right" android:textStyle="italic" android:textSize="12dp" android:textColor="#00FF00" /> </LinearLayout> </LinearLayout>
3. Then create a activity named VideoStoredInSDCard
public class VideoStoredInSDCard extends Activity { private Cursor videoCursor; private int videoColumnIndex; ListView videolist; int count; String thumbPath; String[] thumbColumns = { MediaStore.Video.Thumbnails.DATA,MediaStore.Video.Thumbnails.VIDEO_ID }; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); initialization(); } private void initialization() { System.gc(); String[] videoProjection = { MediaStore.Video.Media._ID,MediaStore.Video.Media.DATA, MediaStore.Video.Media.DISPLAY_NAME,MediaStore.Video.Media.SIZE }; videoCursor = managedQuery(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,videoProjection, null, null, null); count = videoCursor.getCount(); videolist = (ListView) findViewById(R.id.PhoneVideoList); videolist.setAdapter(new VideoListAdapter(this.getApplicationContext())); videolist.setOnItemClickListener(videogridlistener); } private OnItemClickListener videogridlistener = new OnItemClickListener() { public void onItemClick(AdapterView parent, View v, int position,long id) { System.gc(); videoColumnIndex = videoCursor.getColumnIndexOrThrow(MediaStore.Video.Media.DATA); videoCursor.moveToPosition(position); String filename = videoCursor.getString(videoColumnIndex); Log.i("FileName: ", filename); //Intent intent = new Intent(VideoActivity.this, ViewVideo.class); //intent.putExtra("videofilename", filename); //startActivity(intent); }}; public class VideoListAdapter extends BaseAdapter { private Context vContext; int layoutResourceId; public VideoListAdapter(Context c) { vContext = c; } public int getCount() { return videoCursor.getCount(); } public Object getItem(int position) { return position; } public long getItemId(int position) { return position; } public View getView(int position, View convertView, ViewGroup parent) { View listItemRow = null; listItemRow = LayoutInflater.from(vContext).inflate(R.layout.listitem, parent, false); TextView txtTitle = (TextView)listItemRow.findViewById(R.id.txtTitle); TextView txtSize = (TextView)listItemRow.findViewById(R.id.txtSize); ImageView thumbImage = (ImageView)listItemRow.findViewById(R.id.imgIcon); videoColumnIndex = videoCursor.getColumnIndexOrThrow(MediaStore.Video.Media.DISPLAY_NAME); videoCursor.moveToPosition(position); txtTitle.setText(videoCursor.getString(videoColumnIndex)); videoColumnIndex = videoCursor.getColumnIndexOrThrow(MediaStore.Video.Media.SIZE); videoCursor.moveToPosition(position); txtSize.setText(" Size(KB):" + videoCursor.getString(videoColumnIndex)); int videoId = videoCursor.getInt(videoCursor.getColumnIndexOrThrow(MediaStore.Video.Media._ID)); Cursor videoThumbnailCursor = managedQuery(MediaStore.Video.Thumbnails.EXTERNAL_CONTENT_URI, thumbColumns, MediaStore.Video.Thumbnails.VIDEO_ID+ "=" + videoId, null, null); if (videoThumbnailCursor.moveToFirst()) { thumbPath = videoThumbnailCursor.getString(videoThumbnailCursor.getColumnIndex(MediaStore.Video.Thumbnails.DATA)); Log.i("ThumbPath: ",thumbPath); } thumbImage.setImageURI(Uri.parse(thumbPath)); return listItemRow; } } }
Leave a comment