리스트 뷰에 동영상 목록을 불러와서 뿌려주었습니다.

원래 소스는 유투브에 있는 동영상을 URL을 가져 와서 재생하는 방식이었으나.

새로 수정한느 방식을 동영상들을 다운 받아서 재생하는 방식으로 바꿀려고 합니

동영상들은 SD카드에 저장 되었있구요.

근데 이 리스트를 터치해서 플레이 시켜 줄려고 하는데 도저히 감이 잡히질 않네요. 조언 좀 부탁드립니다.

소스도 첨부합니다. 감사합니다.

 

 package com.koinlab.love.activity;
/**
 * 홍보 영상 리스트를 표시하는 Activity Class
 */
import java.util.LinkedList;
import android.app.ListActivity;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.widget.ListView;
import android.widget.MediaController;
import android.widget.VideoView;
import com.koinlab.love.Love;
import com.koinlab.love.KLLib.KLUtils;
import com.koinlab.love.provider.VideoContent;
import com.koinlab.love.provider.VideoContentProvider;
public class VideoListActivity extends ListActivity 
 implements TabManager.OnTabListener, VideoContentProvider.OnContentListener,
 DialogInterface.OnClickListener
{
 private static final String TAG = "MainActivity";
 
 private VideoListAdapter mListAdapter; 
 private LinkedList<VideoContent> mContents; 
 private VideoContentProvider mVideoContentProvider;
 
 private TabManager mTabManager;
 private boolean mIsEnd = false; 
 
 /** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
 
     setContentView(R.layout.video_list);
     mTabManager = new TabManager(this, this);
 
     mContents = new LinkedList<VideoContent>();
     findContents();
   
     mListAdapter = new VideoListAdapter(this, mContents);
     setListAdapter(mListAdapter);
 }
 @Override
 public void onResume() {
  super.onResume();
  
  if (Love.instance() == null) {
   finish();
  } else {
   mTabManager.setFocus(mTabManager.getFocusedIdx());
  }  
 }
 public void onDestroy() {
  
  if (mListAdapter != null) 
   mListAdapter.clear();
  mListAdapter = null;
  
  if (mContents != null)
   mContents.clear();
  mContents = null;
  
  mVideoContentProvider = null;
  mTabManager = null;
  
  super.onDestroy();
 }
 
 
 private void findContents() {
  mVideoContentProvider = new VideoContentProvider(this, this);
  mVideoContentProvider.getVideoList();
 }
 
 public void onListItemClick(ListView parent, View v, int position, long id) {
  //이부분을 수정 해야 할듯...맞죠?
  VideoContent content = (VideoContent)this.getListAdapter().getItem(position);
  startActivity(new Intent(Intent.ACTION_VIEW,
    Uri.parse(content.getVideoUrl())));
  
//  VideoContent content = (VideoContent)this.getListAdapter().getItem(position);
//  Love.instance().setVideoContent(content);
//  mTabManager.startNewActivity(VideoContentActivity.class, false);
  
 }
 
 public void onTab(int focusTabIdx) {
  mTabManager.startNewRootActivity(focusTabIdx);
 }
 
 public void onPostExecute(VideoContent content, LinkedList<VideoContent> ignore,
   String command)
 {
  Log.v(TAG, "onPostExecute 실행");
 }
 
 public boolean onKeyDown(int keyCode, KeyEvent event) {
  if (mTabManager.isRoot() == true && keyCode == KeyEvent.KEYCODE_BACK) {
      mIsEnd = true;
   KLUtils.showAlertDialog(this, R.drawable.icon_notice, R.string.LABEL_NOTICE,
     R.string.MSG_END_APPLICATION, R.string.LABEL_CONFIRM, R.string.LABEL_CANCEL,
     0, this, null, null);
         return true;
     } 
  else if (keyCode == KeyEvent.KEYCODE_BACK) {
   mTabManager.removeAtCurrentStack();
  }
     return super.onKeyDown(keyCode, event);
 }
 
 public void onClick(DialogInterface a_dialog, int a_which) {
  if (mIsEnd) {
   if (a_which == KLUtils.POSITIVE_BTN) {
    finish();
    Love.instance().destroy();
   } 
   mIsEnd = false; 
  }
  mTabManager.setFocus(mTabManager.getFocusedIdx());
 }
 
 /**
  * 리스트뷰에 뿌려지는 목록만큼 실행되는 메서드, 여기서는 일곱번 실행 된다.
  */
 public void onProgressUpdate(VideoContent content, LinkedList<VideoContent> contents,
   String command)
 {
  Log.v(TAG, "onProgressUpdate 실행");
  
  if (command.equals(VideoContentProvider.COMMAND_VIDEO_CONTENT_LIST)) {
   mListAdapter.add(content); 
  }
 }
}