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

MediaStore를 이용해서 SD카드 안의 png파일만 불러오고싶습니다

+1 추천
try {
			final String[] columns = { MediaStore.Images.Media.DATA,
					MediaStore.Images.Media._ID };
			final String orderBy = MediaStore.Images.Media._ID;

			@SuppressWarnings("deprecation")
			Cursor imagecursor = managedQuery(
					MediaStore.Images.Media.EXTERNAL_CONTENT_URI, columns,
					null, null, orderBy);

			if (imagecursor != null && imagecursor.getCount() > 0) {

				while (imagecursor.moveToNext()) {
					CustomGallery item = new CustomGallery();

					int dataColumnIndex = imagecursor
							.getColumnIndex(MediaStore.Images.Media.DATA);

					item.sdcardPath = imagecursor.getString(dataColumnIndex);

					galleryList.add(item);
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}

위의 소스를 보시면 MediaStore방식으로 목록을 가져와 galleryList 에다 담아 처리하고 있습니다

근데 저위의 소스는 전체목록을 가져오는거구요... png파일만 가져오게끔하려는데 어떻게 쿼리 날려줘야되는지 잘모르겠습니다...ㅜㅜ

managedQuery 에서 where절 걸어줘야되는거같은데 잘모르겠네요...ㅠㅠ

답장 꼭 부탁드릴게요 ㅠ

아직도초보 (3,030 포인트) 님이 2014년 8월 1일 질문

1개의 답변

+2 추천
 
채택된 답변
쿼리는 많이 연습(삽질) 하시길 권장드립니다.

.png만 galleryList에 add 되길 원하시면 add 직전에 item.sdcardPath 정보를 가공하시면 될것 같네요

if (item.sdcardPath != null && item.sdcardPath.endsWith(".png") {

    galleryList.add(item);

}
Gioskhan (12,060 포인트) 님이 2014년 8월 2일 답변
아직도초보님이 2014년 8월 3일 채택됨
...