2013-09-03 2 views
0

a SD 카드의 폴더 안에있는 모든 비디오를 표시하는 데 문제가 있습니다. 현재 SD 카드에서 볼 수있는 모든 비디오를 표시 할 수 있지만, SD 카드의 "PartyVideo"폴더 안에 모든 비디오를 표시하려고합니다. 아래 코드는 SD 카드의 모든 비디오를 표시하는 코드입니다.android의 SD 카드에있는 특정 폴더의 모든 비디오를 표시합니다.

final String[] columns = { MediaStore.Video.Media.DATA, MediaStore.Video.Media._ID }; 
    final String orderBy = MediaStore.Video.Media.DATE_TAKEN; 
    Cursor imagecursor  = managedQuery(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, columns, null,null, orderBy + " DESC"); 
    int image_column_index = imagecursor.getColumnIndex(MediaStore.Video.Media._ID); 
    this.count    = imagecursor.getCount(); 
    this.thumbnails  = new Bitmap[this.count]; 
    this.arrPath   = new String[this.count]; 
    this.thumbnailsselection = new boolean[this.count]; 
    for (int i = 0; i < this.count; i++) 
    { 
     imagecursor.moveToPosition(i); 
     int id = imagecursor.getInt(image_column_index); 
     int dataColumnIndex = imagecursor.getColumnIndex(MediaStore.Video.Media.DATA); 
     thumbnails[i] = MediaStore.Video.Thumbnails.getThumbnail(
       getApplicationContext().getContentResolver(), id, 
       MediaStore.Video.Thumbnails.MICRO_KIND, null); 
     arrPath[i]= imagecursor.getString(dataColumnIndex); 
    } 
    GridView imagegrid = (GridView) findViewById(R.id.grid_GalleryImage); 
    imageAdapter = new ImageAdapter(); 
    imagegrid.setAdapter(imageAdapter); 

많은 코드를 시도해 보았습니다. 아래의 코드는 내가 원하는 폴더에서 모든 비디오를 가져 오지만 어떻게 표시 할 수 있는지 알지 못합니다.

String[] fileList = null; 
    File videoFiles = new File(Environment.getExternalStorageDirectory()+"/PartyVideo"); 

     if(videoFiles.isDirectory()) 
     { 
      fileList=videoFiles.list(); 
     } 

     for(int i=0;i<fileList.length;i++) 
     { 
      Log.e("Video:"+i+" File name",fileList[i]); 
     } 

답변

2

사용이 File Browser 라이브러리 파일을 검색하고 그냥 당신을 위해 작동이 희망을 시도 다음 코드

Intent intent = new Intent(getBaseContext(), FileDialog.class); 
intent.putExtra(FileDialog.START_PATH, "/sdcard"); 

//can user select directories or not 
intent.putExtra(FileDialog.CAN_SELECT_DIR, true); 

//alternatively you can set file filter 
intent.putExtra(FileDialog.FORMAT_FILTER, new String[] { "avi" }); 

startActivityForResult(intent, REQUEST_SAVE); 
1

Cursor videocursor = getActivity().getContentResolver().query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, 
         columns, 
         MediaStore.Video.Media.DATA + " like ? ", 
         new String[]{"%/" + Your folder name + "/%"}, 
         null); 
시도
관련 문제