2016-09-10 5 views
0

Я хочу создать резервную копию и восстановить свой sqlite db. Для этого я использую google drive api. Я использовал этот демо-код this. Все работает отлично. Я могу загрузить и загрузить мой db, пока я не удалю свое приложение.Google Диск Sqlite db upload не работает

Но тогда я замечаю странное поведение. Сценарий, как следовать

  • Введите Некоторые данные в 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; 
    } 

Пожалуйста, помогите мне ....

+0

Есть ли ошибки, которые появляются в журналах? Поделись, пожалуйста. – Teyam

+0

no нет ошибок –

ответ

0

хорошо я решил его .... я не получаю файл, потому что Я использовал ключ отладки в сертификате auth. Все работает отлично, как только я сменил свой отладочный ключ с выпуском.

+0

Привет, можете поделиться своим подходом ко мне – rafeek