Google API Java クライアントを使用すると、ドライブにファイルを同期的にアップロードできます。
mDriveService.files().insert(body, mediaContent).execute();
新しい Android の Google Play Services DriveApi で同等の機能はありますか? 次のようなものでのみ新しいファイルをアップロードできるようです:
Contents newContents = Drive.DriveApi.newContents(mGoogleApiClient).await().getContents();
OutputStream outStream = newContents.getOutputStream();
InputStream inputStream = new FileInputStream(myLocalFile);
byte[] data = new byte[16000];
while ((nRead = inputStream.read(data, 0, data.length)) != -1) {
outStream.write(data);
}
outStream.close();
MetadataChangeSet changeSet = new MetadataChangeSet.Builder()
.setTitle(fileContent.getName())
.setMimeType(mimeType)
.build();
DriveFileResult createResult = destFolder.createFile(mGoogleApiClient, changeSet, newContents).await();
上記のコードに関する私の問題は、アップロードしたいローカル ファイルが非常に大きい場合 (たとえば、記録されたビデオについて考えてください)、デバイスのストレージにファイルを複製する必要があり、場合によっては大きな問題が発生することです。