我正在使用Google雲端硬盤Web服務API進行Android應用的製作。現在,我試圖獲取根文件夾中的文件名列表。不過,我相信我做這個當前方法是無效的:適用於Android的Google雲端硬盤Web服務API - 在文件夾中顯示文件名
public void searchRoot()
{
Thread t = new Thread(new Runnable()
{
@Override public void run()
{
try
{
Children.List request = service.children().list("root");
do
{
try
{
ChildList children = request.execute();
for(ChildReference child : children.getItems())
{
File file = service.files().get(child.getId()).execute();
}
request.setPageToken(children.getNextPageToken());
}
catch(IOException e)
{
request.setPageToken(null);
}
}
while(request.getPageToken() != null && request.getPageToken().length() > 0);
}
catch(IOException e)
{
}
}
});
t.start();
}
我認爲這種方法是低效的,因爲我第一次調用request.execute()來獲取所有的孩子列表中的根文件夾,但隨後我必須爲每個孩子調用service.files()。get(child.getId())。execute()以獲得每個孩子可讀的文件名。如果根文件夾中有大量文件,則可能需要大量時間來獲取所有文件名。我的問題是 - 有沒有更好的方法來獲取文件名列表?就像只有一個API調用可以返回根文件夾中所有文件名的查詢一樣?
另外,我瞭解Google Drive SDK具有我請求的功能。不過,我選擇使用Google雲端硬盤網絡服務API,因爲我最終嘗試從我的Google雲端硬盤帳戶中傳輸非公開媒體,而且我認爲雲端硬盤SDK不支持此功能。