Google 드라이브를 GoogleDriva Android API와 함께 사용하려는 경우 Google forst는 조건을 충족하는 모든 파일을 검색하기 위해 검색어를 만듭니다. 여러 파일은 이름이 고유 식별자가 아닌 동일한 이름을 가질 수 있습니다. DriveId가 있습니다. 그러나 때로는 최신 파일에만 관심이 있습니다. Google 웹 사이트의 일반적인 방법은 이와 같습니다.Google 드라이브에서 첫 번째 검색 결과 만 반환하는 방법은 무엇인가요?
void retrieveFiles() {
SortOrder sortOrder = new SortOrder.Builder()
.addSortDescending(SortableField.MODIFIED_DATE)
.build();
Query query = new Query.Builder()
.addFilter(Filters.eq(SearchableField.TITLE, filename), "my_filename.txt"))
.setSortOrder(sortOrder)
.build();
MetadataBufferResult mbr = Drive.DriveApi.query(query).await().getMetadataBuffer();
// Now we can iterate through all the result hits
Metadata metadata;
Iterator<Metadata> iterator = mbr.getMetadataBuffer().iterator();
metadata = iterator.next(); // get the first hit
});
이 쿼리는 조건을 충족하는 모든 파일에 대한 메타 데이터를 반환합니다. 그러나 이것이 우리가 관심을 가지고 있기 때문에 검색을 첫 번째 파일 (또는 그 중 임의의 수)로만 제한하는 것이 유용 할 것입니다. 정렬을하면 결과를 정리할 수 있습니다. 결과 집합을로 제한 할 수있는 방법이 있습니까? Somethinh는 SQL에서 TOP N ROWS를 좋아합니다. 당신은 행의 수를 제한하는 pageSize가 설정할 수 있습니다