0
我想將我的應用程序數據保存在Google雲端硬盤中以在用戶的設備之間共享。Google Drive Android SDK無法寫入應用程序文件夾
首先,如果沒有文件,我在谷歌雲端硬盤中創建一個:
Drive.DriveApi.getAppFolder(driveApiClient)
.createFile(driveApiClient, changeSet, null)
在回調我打開文件:
driveFileResult.getDriveFile().open(driveApiClient, DriveFile.MODE_WRITE_ONLY, null)
而在回調我寫文件的描述https://developers.google.com/drive/android/files#making_modifications:
DriveContents contents = driveContentsResult.getDriveContents();
try {
ParcelFileDescriptor parcelFileDescriptor = contents.getParcelFileDescriptor();
FileOutputStream fileOutputStream = new FileOutputStream(parcelFileDescriptor
.getFileDescriptor());
Writer writer = new OutputStreamWriter(fileOutputStream);
writer.write("hello world");
} catch (IOException e) {
e.printStackTrace();
}
contents.commit(driveApiClient, null, new ExecutionOptions.Builder().setConflictStrategy(ExecutionOptions.CONFLICT_STRATEGY_OVERWRITE_REMOTE).build())
在提交的狀態回調中,我獲得成功。
下一次我打開的文件的文件是空的,並且在元數據的大小爲0
我到底做錯了什麼?
嘗試關閉'OutputStreamWriter'。你如何閱讀文件?你怎麼知道它是空的?您可以將範圍從'appDataFolder'移開,以便進行視覺檢查。此外,通過GDAA編寫的文件將在某個時間後同步到服務器,這是不受您控制的。 – Cheticamp