1
私はGoogleドライブにオーディオのリストをアップロードする際に問題に直面しています。ディレクトリ内のすべてのオーディオファイルをGoogleドライブにアップロードするにはどうすればよいですか?
ディレクトリから単一のオーディオファイルをアップロードできますが、オーディオファイルのリストをアップロードしようとしても失敗しました。
これはCallLogsディレクトリ内のすべてのオーディオファイルをアップロードする方法単一のオーディオファイルのパス
final String path = new String(Environment.getExternalStorageDirectory() + "/CallLogs/Yaendi Yaendi.mp3");
です。
public void CreateFileOnGoogleDrive(DriveApi.DriveContentsResult result) {
final DriveContents driveContents = result.getDriveContents();
// Perform I/O off the UI thread.
new Thread() {
@Override
public void run() {
// write content to DriveContents
OutputStream outputStream = driveContents.getOutputStream();
final String path = new String(Environment.getExternalStorageDirectory() + "/CallLogs/Yaendi Yaendi.mp3");
FileInputStream inputStream = null;
try {
inputStream = new FileInputStream(new File(path));
} catch (FileNotFoundException e) {
showErrorDialog();
e.printStackTrace();
}
byte[] buf = new byte[1024];
int bytesRead;
try {
if (inputStream != null) {
while ((bytesRead = inputStream.read(buf)) > 0) {
outputStream.write(buf, 0, bytesRead);
}
}
} catch (IOException e) {
showErrorDialog();
e.printStackTrace();
}
MetadataChangeSet changeSet = new MetadataChangeSet.Builder()
.setTitle("callLog")
.setMimeType("audio/mpeg")
.setStarred(true).build();
// create a file in root folder
Drive.DriveApi.getRootFolder(mGoogleApiClient)
.createFile(mGoogleApiClient, changeSet, driveContents).setResultCallback(fileCallback);
}
}.start();
Toast.makeText(getActivity(), "Created Successfully", Toast.LENGTH_SHORT).show();
}
上記のコードでは、Googleドライブに単一のオーディオファイルをアップロードするためのものです。 すべてのファイルをGoogleドライブにアップロードする方法を教えてください。
[SO post](https://stackoverflow.com/a/33520802/5995040)と[Googleドライブに複数のファイルをアップロードする](https://stackoverflow.com/a/23946030/)をご確認ください。 5995040)は、アップロードするファイルがある間にループを作成し、アップロードする必要のあるすべてのファイルをリストする変数を設定する方法について説明しています。この[post](https://stackoverflow.com/a/35005843/5995040)に記載されているように(asynctaskを介して)ファイルの作成/アップロードのバッチリクエストを試すこともできます。お役に立てれば。 –