마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

비디오 디렉토리를 리스트로 보여주는데...

0 추천
MediaStore와 distinct를 설정해서 BUCKET_DISPLAY_NAME을 이용해 스마트폰내의 비디오가 들어 있는 폴더만 리스트에 표시해줬습니다.

String[] proj = {

"distinct replace(" + MediaStore.Video.Media.DATA
    + ", " + MediaStore.Video.Media.DISPLAY_NAME + ",'')",
    MediaStore.Video.Media.BUCKET_DISPLAY_NAME,
    MediaStore.Video.Media.BUCKET_ID};

  videocursor = cr.query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,
    proj, null, null, null);

이렇게만 해놓고 어댑터에 연결한 상태라 눌러도 아무 반응이 없네요...

여기서 이벤트를 추가해야 하는지, 아니면 다시 MediaStore를 이용해서 표시해야 하는지 잘 모르겠습니다. 폴더리스트를 누르면 거기에 들어있는 비디오리스트를 구현하려 합니다
CEL (1,140 포인트) 님이 2014년 1월 21일 질문
video cursor에 원하는 형태로 내용이 등록됐는지 확인하시고, 리스트뷰 예제를 만들어 보세요. cursor에 제대로 내용이 들어있다면, 나머지는 기초적인 리스트뷰 구현에 관련된 문제입니다.
distinct replace로 비디오가 존재하는 폴더 경로를 얻었고 그걸 Buket_display_name을 통해 리스트뷰에 표시해줬습니다

Media_ID가 없어서 그런지 따로 리스트를 또 만들어줘야 할텐데...
query를 어떻게 조작해야할지 모르겠네요.

1개의 답변

+1 추천
예제를 만들었습니다.

 

먼저 비디오가 포함된 폴더를 리스트로 보여줍니다.  리스트를 클릭하면 해당 폴더안의 파일을 표시합니다.

 

항목을 클릭하면 재생됩니다.

 

참고하세요.

 

http://blog.naver.com/goodsogi/40205116524
방귀과장 (18,940 포인트) 님이 2014년 1월 22일 답변
이해될줄 알았으나... 적용이 안되네요.
전 ArrayList<String>이 아닌 VideoData 라는 클래스를 만들어 ArrayList<VideoData>로 리스트를 이용하고 있습니다.

예제에선 String으로 사용되어... <VideoData>엔 add나 그런 함수들이 적용이 안되네요.

계속 파내다보면 언젠가 적용시킬수 있겠죠 하하...
...