2011-05-10 5 views
5

Android에서 managedQuery 함수를 사용하여 mediastore에서 검색 한 결과를 제한 할 수있는 방법이 있습니까? 현재는 SD 카드에서 찾은 모든 사진을 표시하는 표가 있지만 너무 불러 와서 미디어 저장소에서 검색 한 결과를 제한하지만 결과 데이터 집합을 줄일 수있는 제한 기능을 찾을 수 없습니다. . mediastore에서 처음 100 행의 이미지 만 가져 오기

답변

22

사용 순서는 '럼 이름 오름차순 제한 번호'내 경우에는

로 기능 을 구현하는 방법은 다음과 같습니다

cursor = resolver.query(STORAGE_URI, projection, 
         Media.BUCKET_DISPLAY_NAME + "=?", 
         new String[] { folderName }, 
         " _id asc limit " + num); 
+1

하고 " 오름차순"부분이 필요합니다, 당신은 할 수 있습니다 그냥 "한계 N"넣지 마라. –

+0

기본적으로 지역화를 수행 할 때 문자열 형식을 사용하지 않도록하십시오. 즉, 다음 명령문은 아랍어 전화에서 SQL 예외를 발생시킵니다. 'String sortOrder = String.format ("_id asc limit (% d)", num); ' –

+0

@TomSusel 기본 로케일에 의지하지 마세요 :) –

2

당신은 query 방법에있는 sortOrder 매개 변수를 사용하여 결과를 제한 할 수 있습니다 도와주세요. 이 같은 것

ContentResolver contentResolver = getContentResolver(); 
Cursor androidCursor = null; 
String sortOrder = String.format("%s limit 100",BaseColumns._ID); 
androidCursor = contentResolver.query(IMAGE_URI,PROJECTION, null, null, sortOrder); 

결과 집합을 id로 정렬하고 결과를 제한합니다. 컨텐트 리졸버의 질의 방법