2012-10-17 7 views
1

다음 방법을 사용하여 Google 드라이브에서 항목을 쿼리합니다. 내 Android App에서는 디렉토리의 모든 항목을 한 번에 가져 오지 않습니다. 게으른로드로 사용자가 목록을 스크롤하는 동안 항목을 가져옵니다.Google 드라이브 SDK로 검색 결과를 정렬하는 방법

문제는 항목이 정렬되지 않은 것입니다. 나는 그것들을 내 편으로 분류하지만, 게으른 로딩으로는 더러워진다. 필자는 가지고있는 것만 정렬 할 수 있으므로 목록은로드되는 모든 새 페이지에 의지해야합니다.

어떻게 변경할 수 있습니까?

FileList files = drive 
      .files() 
      .list() 
      .setMaxResults(GdataConstants.REQUEST_ENTRIESPERPAGE) 
      .setPageToken(nextPageToken) 
      .setQ(buildFilesQuery(folderId, mimeTypes)) 
      .execute(); 
+0

말한다 곳

가져 오는 동안 정렬 얻을 수 있습니다 생각 https://developers.google.com/google-apps/documents-list/v2/reference#Parameters를 참조하십시오. 나는 방금 sdk를 보았다. 왜 그것이 정렬되지 않은 이유는 그것이 어떤 방식 으로든 정렬 될 수 있기 때문에 이름/날짜/크기 등입니다. 클라이언트 측 (응용 프로그램 측)에서 처리해야하는 경우에는 괜찮습니다. – gaara87

+1

괜찮습니다. 클라이언트 측에서는 소수의 객체 만 있으면됩니다. 수천 장의 그림이있는 디렉토리를 고려하십시오. 한 번에 모든 것을로드하지 않고 기기에서 정렬하지 않습니다. API가 페이지 기반에서 가져와야하고 기기가 네트워크 트래픽을 처리해야하며 미리보기 이미지를 가져와야합니다. 이 경우 게으른로드 목록을 수행 할 확률은 100 %입니다. 사용자가 스크롤하면 다음 대량의 객체를 가져옵니다. 그러나 정렬되지 않은 결과가 있으면 요청이있을 때마다 다시 정렬해야하며 목록 순서가 변경됩니다. 그것은 사용자에게 고통입니다. –

답변

5

이전 doclist API는 정렬을 허용했습니다. 일부 누락 된 결과 만있는 경우가 아니면 클라이언트 측 구현이 불가능한 누락 된 기능입니다. 예를 들어 드라이브 검색을 구현하고 결과 파일을 이름순으로 정렬하는 것은 불가능합니다. 정확하게 정렬 할 수 있도록 전체 결과 집합 (수천 개)을 미리로드해야합니다. 그것은 내가 그나마 'ORDERBY'

관련 문제