2

Я разрабатываю приложение, которое хранит элементы для пользователя, и пользователь имеет возможность синхронизации с Google Диском. Каждый элемент состоит из текста и изображения.Эффективная синхронизация данных приложения с папкой приложения на Google Диске

Мой текущий метод заключается в том, чтобы сохранить файл .json и .jpg для каждого элемента внутри устройства, а затем один раз, когда OnConnected вызывается из Drive API, загрузите эти файлы в папку APP пользователя на Google Диске. Подобно удалению, я бы создал флаг, который удалил элемент с именем «foo», а затем попытайтесь выяснить, существуют ли файлы «foo.jpg» и «foo.json» на Диске и соответственно удалить их.

Это работает для меня сейчас, но часто я получаю приложение для сбоя из-за ошибок googleApiClient, и я понимаю, что это не эффективный метод. Так что мне интересно, знает ли кто-нибудь из вас более эффективный способ сделать это?

В идеальном мире я бы хотел иметь что-то вроде этого: я сохраняю файлы для каждого элемента на внутреннем устройстве, а библиотека отслеживает их и синхронизирует диск соответственно.

Спасибо за консультацию!

ответ

0

Исходя из того, что вы имеете в виду «onConnected» и «googleApiClient», я предполагаю, что вы используете GDAA, а не REST Api.

Вы должны передумать идею использования имен файлов при работе с GooDrive. Они не являются уникальными в GooDrive и латентность GDAA будет рано или поздно вызовут проблемы с наличием нескольких файлов с тем же именем, созданной повсеместной конструкцией:

if file.name not exist 
    create file.name 

Тем факт, что вы используете папку APP делает отладку еще сложнее так как у вас нет обратной связи, посмотрев на http://drive.google.com.

Вы должны обращаться к своим файлам с помощью DriveId (если используется только одно устройство Android) или ResourceId (если вы намерены отправлять/транслировать идентификаторы на другое устройство/приложение). И если вы решите использовать ResourceId, убедитесь, что вы обрабатываете проблемы с задержкой, вызванные delayed GDAA's promotion объектов на Диске.

Это, безусловно, не полностью охватывает ваш вопрос, но он слишком широк, чтобы правильно ответить в любом случае.

Удача

Смежные вопросы