@mihanik1337
Java, Android

How to sync local folder via Google Drive Android API?

Hi!
Народ, поскажите новичку с API Google Drive Android, а именно с синхронизацией папки на устройстве андроид (например /storage/sdcard0/mySyncFolder) и с гугл диском. Прошу прощения за возможную не корректность вопроса :)
Видел кучу примеров здесь https://github.com/googledrive/android-demos , но такой реализации не увидел.
То есть, задача такая, я хочу закинуть файли в папку на SD, а моя апликуха уже закачает их на драйв (без всяких диалоговых окон и подтверждений, в бекграунде), предварительно пройдя аутентификацию и авторизацию, реализированую на тех же примерах с гита. Натолкните на парвильные мысли, или тыкните носом куда смотреть.

Вот фрагмент кода:
public class CreateFileInAppFolderActivity extends BaseDemoActivity {

    @Override
    public void onConnected(Bundle connectionHint) {
        super.onConnected(connectionHint);
        // create new contents resource
        Drive.DriveApi.newDriveContents(getGoogleApiClient())
                .setResultCallback(driveContentsCallback);
    }

    // [START drive_contents_callback]
    final private ResultCallback<DriveContentsResult> driveContentsCallback =
            new ResultCallback<DriveContentsResult>() {
        @Override
        public void onResult(DriveContentsResult result) {
            if (!result.getStatus().isSuccess()) {
                showMessage("Error while trying to create new file contents");
                return;
            }

            MetadataChangeSet changeSet = new MetadataChangeSet.Builder()
                    .setTitle("appconfig.txt")
                    .setMimeType("text/plain")
                    .build();
            Drive.DriveApi.getAppFolder(getGoogleApiClient())
                    .createFile(getGoogleApiClient(), changeSet, result.getDriveContents())
                    .setResultCallback(fileCallback);
        }
    };
    // [END drive_contents_callback]

    final private ResultCallback<DriveFileResult> fileCallback = new
            ResultCallback<DriveFileResult>() {
        @Override
        public void onResult(DriveFileResult result) {
            if (!result.getStatus().isSuccess()) {
                showMessage("Error while trying to create the file");
                return;
            }
            showMessage("Created a file in App Folder: "
                    + result.getDriveFile().getDriveId());
        }
    };
}

подскажите, что делает объект changeSet?

Благодарю!
  • Вопрос задан
  • 195 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы