我想備份和恢復我的sqlite數據庫。爲此,我使用谷歌驅動器API。我已經使用這個this演示代碼。所有作品都很完美我可以上傳和下載我的分貝,直到我卸載我的應用程序。Google Drive Sqlite db上傳不起作用
但後來我注意到一個奇怪的行爲。該方案是遵循
- 輸入一些數據,SQLite的
- 上傳我的SQLite數據庫驅動
卸載我的應用程序
重新安裝,並嘗試從驅動器下載文件。
在這個時候我找不到任何文件從驅動器....搜索返回0總是......我不知道爲什麼。所有作品完美,如果我不卸載應用程序,只是清除數據。
這裏是我上傳的代碼....
public boolean createFile() {
DriveId dId = null;
String mimeType = MimeTypeMap.getSingleton().getExtensionFromMimeType("db");
if (mGoogleApiClient != null && mGoogleApiClient.isConnected())
try {
DriveFolder pFldr = Drive.DriveApi.getAppFolder(mGoogleApiClient);
if (pFldr != null) {
File file = context.getDatabasePath(db.getDatabaseName());
DriveContents cont = file2Cont(null, file);
MetadataChangeSet meta = new MetadataChangeSet.Builder().setTitle(Google_Drive_File).
setMimeType(mimeType).build();
DriveFolder.DriveFileResult r1 = pFldr.createFile(mGoogleApiClient, meta, cont).await();
DriveFile dFil = r1 != null && r1.getStatus().isSuccess() ? r1.getDriveFile() : null;
if (dFil != null) {
DriveResource.MetadataResult r2 = dFil.getMetadata(mGoogleApiClient).await();
if (r2 != null && r2.getStatus().isSuccess()) {
dId = r2.getMetadata().getDriveId();
}
}
}
} catch (Exception e) {
e.printStackTrace();
return false;
}
return dId == null ? false : true;
}
請幫我....
日誌中是否還有任何錯誤?請分享。 – Teyam
不,沒有錯誤 –