Добрый день всем.
У меня довольно простое приложение для заметок, и я хочу сделать простую вещь - по требованию пользователя приложение должно синхронизировать свой файл «notes_db» с версией в облаке
(на первом этапе я хочу синхронизировать весь файл «notes_db», для упрощения).Android с помощью DropBox Sync API для синхронизации одного файла
Поскольку я еще недостаточно умел писать свой собственный веб-сервер с его API, было принято решение использовать DropBox Sync API для моих целей.
В этот момент я успешно выполнил авторизацию пользователя в своем приложении.
И я предположил, что я укажу файл «notes_db» и скажу «Синхронизировать этот файл!». to Sync API - и этот файл будет синхронизирован с облаком.
Но теперь это не так просто :-(
Мой первый вопрос: правильно ли я понимаю, что я не могу синхронизировать определенный файл, который я хочу синхронизировать (в моем случае, это файл, расположенный в «/ баз данных/notes_db») через DropBox Sync API
И второй вопрос - каким должен быть механизм синхронизации в этом случае
Я думаю, что я должен сделать следующий
(I? предположим, что у меня будет 3 версии файла notes_db - локальный (где мое приложение внесет изменения), локальный кеш и облачная версия):
1) создать пустой файл «notes_db» в Dr opBox (если я правильно понимаю, он будет создавать как локальный кеш, так и облачные версии) или попытаться открыть его, если он существует;
2) переносить содержимое локальной версии только в созданную локальную версию кеша;
3) вызвать некоторые методы (которые?), Чтобы синхронизировать изменения из локального кеша в облачную версию.
Затем, при следующем вызове синхронизации:
1) сравнить файлы - облако, локальный кеш и локальные версии;
2) если локальная версия является самой новой - передайте ее содержимое в локальную версию кеша и запустите синхронизацию;
3) если облачная версия является самой новой - получите ее в локальном кеше и передайте ее содержимое в локальную версию файла.
Кроме того, после создания DropBox-файловой системы, какие методы мне следует называть? hasSynced(), listFolder(), awaitFirstSync(), syncNowAndWait(), getSyncStatus()?
Говоря честно, я сейчас полностью смущен.
Может быть, есть более простой способ решить мою проблему - независимо от того, через DropBox Sync API или каким-либо другим способом?
Если кто-то может предоставить полезный учебник или рабочий пример с синхронизацией одного файла - я был бы очень благодарен за это.
И спасибо за помощь!
Этот вопрос для меня действительно важен.
Хорошо, он все еще работает. Добавлен AsyncTask для всех синхронных операций, поэтому основной пользовательский интерфейс является бесплатным. –