これまでにsimilar questionsに質問しました。しかし、いずれも答えられていませんでした。Android用GoogleドライブAPI(GDAA)を使用して大容量ファイルをGoogleドライブにアップロード
はGoogleドライブにファイルをアップロードするには、あなたがDriveContents
を作成する必要があります。
私の問題は次のようです。
次のいずれかの薄い空気からそれらを作成することによって、次の操作を行います。
DriveApi.DriveContentsResult driveContentsResult = Drive.DriveApi.newDriveContents(getGoogleApiClient()).await();
DriveContents contents = driveContentsResult.getDriveContents();
それとも、既存のファイルを開くことにより、これを行うには:
DriveApi.DriveContentsResult driveContentsResult = driveFileResult.getDriveFile().open(getGoogleApiClient(), DriveFile.MODE_WRITE_ONLY, null).await();
DriveContents contents = driveContentsResult.getDriveContents();
あなたは今でDriveContents
を埋めるために準備ができていますデータ。このOutputStream
を充填することによりGoogleはちょうどアップロードする私がしたいファイルをコピーサービスを再生すると:どこ問題開始さて、これは
FileOutputStream fileOutputStream = new FileOutputStream(driveContentsResult.getDriveContents().getParcelFileDescriptor().getFileDescriptor());
:あなたはOutputStream
を取得することによって、これOutputStream
に書き込むことによって、これを行いますローカルコピーを作成します。あなたの携帯電話に0.5 GBの空き容量があり、1.3 GBのファイルをアップロードしたい場合、これはうまくいかないでしょう!十分な記憶領域がありません。
これはどのように行われますか? GDAA経由でGoogleドライブに直接アップロードする方法はありますか?ローカルコピーを作成する必要はありません。その後アップロードしますか?
Google REST APIはこれらのアップロードをどのように処理しますか? Google REST API経由で実行できますか?
編集: これはGDAA経由ではできないようです。 Google REST APIで再開可能なアップロードを行う方法をお探しの場合は、my example here on StackOverflowをご覧ください。