刚学android不久,自己做的视频播放器,如果做的不 好还请大家多多提意见。谢谢啊。话不多说开始代码部分: public class ListActivity extends Activity { /** Called when the activity is first created. */ private ListView listview; private int[] ids; private AlertDialog ad = null; private AlertDialog.Builder builder = null; private Vector<String> v; public static Uri uri; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); listview = new ListView(this); Cursor c = this.getContentResolver() .query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, new String[]{MediaStore.Video.Media.TITLE, MediaStore.Video.Media.DURATION, MediaStore.Video.Media._ID, MediaStore.Video.Media.DISPLAY_NAME , MediaStore.Video.Media.DATA}, null, null, null); if (c==null || c.getCount()==0){ builder = new AlertDialog.Builder(this); builder.setMessage("存储列表为空...").setPositiveButton("确定", null); ad = builder.create(); ad.show(); } c.moveToFirst(); v=new Vector<String>(); ids = new int[c.getCount()]; for(int i=0;i<c.getCount();i++){ ids[i] = c.getInt(3); v.add(c.getString(4)); System.out.println(v.get(i)); c.moveToNext(); } listview.setAdapter(new VideoListAdapter(this, c)); listview.setOnItemClickListener(new ListItemClickListener()); setContentView(listview); } String string; class ListItemClickListener implements OnItemClickListener{ @Override public void onItemClick(AdapterView<?> arg0, View view, int position, long id) { // TODO Auto-generated method stub Intent intent = new Intent(ListActivity.this,PlayActivity.class); intent.putExtra("ids", ids); string=v.get(position); intent.putExtra("position", position); startActivity(intent); uri=Uri.parse(string); } } java代码: public class VideoListAdapter extends BaseAdapter { private Context myCon; private Cursor myCur; public VideoListAdapter(Context con, Cursor cur) { myCon = con; myCur = cur; } @Override public int getCount() { return myCur.getCount(); } @Override public Object getItem(int position) { return position; } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { convertView = LayoutInflater.from(myCon).inflate(R.layout.rideolist, null); myCur.moveToPosition(position); TextView tv_video = (TextView) convertView.findViewById(R.id.video); tv_video.setText(myCur.getString(0)); TextView tv_time = (TextView) convertView.findViewById(R.id.time); tv_time.setText(toTime(myCur.getInt(1))); return convertView; } public String toTime(int time) { time /= 1000; int minute = time / 60; //int hour = minute / 60; int second = time % 60; minute %= 60; return String.format("%02d:%02d", minute, second); } } public class VideoListAdapter extends BaseAdapter { private Context myCon; private Cursor myCur; public VideoListAdapter(Context con, Cursor cur) { myCon = con; myCur = cur; } @Override public int getCount() { return myCur.getCount(); } @Override public Object getItem(int position) { return position; } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { convertView = LayoutInflater.from(myCon).inflate(R.layout.rideolist, null); myCur.moveToPosition(position); TextView tv_video = (TextView) convertView.findViewById(R.id.video); tv_video.setText(myCur.getString(0)); TextView tv_time = (TextView) convertView.findViewById(R.id.time); tv_time.setText(toTime(myCur.getInt(1))); return convertView; } public String toTime(int time) { time /= 1000; int minute = time / 60; //int hour = minute / 60; int second = time % 60; minute %= 60; return String.format("%02d:%02d", minute, second); } java代码: