Используем Dropbox Sync API
Работа с Dropbox происходит через Sync API, который реализован в виде библиотеки для Android.
Основные понятия, используемые в Sync API (все классы начинаются с префикса Dbx):
DbxAccountManager Менеджер аккаунтов является стартовой точкой для начала работы. Позволяет начать процес идентификации пользователя через учётную запись пользователя. Если связь с учёткой установилась, то можно работать с файловыми объектами. DbxFileSystem Файловая система Dropbox, которая автоматически синхронизируется с папкой вашего приложения. Вы можете проводить стандартные файловые операции: получать список папок и файлов, редактировать, перемещать и удалять их. DbxFile Непосредственная работа с файлом — создание, открытие, изменение содержания. При изменении файл автоматически синхронизируется с сервером. Слушатели Вы можете также прослушивать изменения, которые происходят в файлах, чтобы узнать, что же там изменилось.
Далее идём на страницу App Console и регистрируем программу. Под регистрацией имеется в виду оповещение владельцев сервиса, что вы собираетесь использовать возможности облачного хранилища в своём приложении под Android или iOS.
Выбираем переключатель Sync API и придумываем имя для приложения. Имя вашего приложения не должно начинаться со слов Drop, поэтому моя первая попытка не увенчалась успехом. Пришлось читать правила и выяснять, почему мне не дают выбрать нормальное с моей точки зрения имя.
Если регистрация прошла успешно, то вам выдадут ключ и секрет — эти строки позже вы вставите в своё Android-приложение. Показывать их никому не надо. Они служат для идентификации вас как автора приложения. Также вы можете заполнить другие дополнительные поля.
Установка библиотеки
Скачиваем Sync API Android SDK, который состоит из библиотеки, примеров и других файлов. На момент написания статьи версия SDK была 1.0.8. Распакуйте архив. В папке libs находится jar-файл библиотеки, а также несколько папок.
Создадим новый проект. Скопируйте jar-файл и папку armeabi в папку libs вашего проекта в Eclipse. Две остальные папки копировать не обязательно, они предназначены для других платформ. Если вы понимаете, о чём идёт речь, то скопируйте и их.
При желании можете подключить документацию библиотеки к своему проекту. Создайте в Eclipse в папке libs новый файл dropbox-sync-sdk-android.jar.properties и вставьте в него строку, которая указывает на папку javadoc скачанного SDK. На моей машине Windows 8 строка выглядит так:
Замените обратные слеши на двойные, закройте проект и откройте его снова. У меня не сразу получилось подключить документацию, я пробовал разные варианты. Надеюсь, описанный способ является оптимальным, сэкономит вам время и у вас получится уже с первого раза.
Создание приложения
Добавим кнопку и текстовую метку для вывода информации.
Внесём изменения в манифест. Необходимо прописать разрешения и добавить парочку активностей и сервис в блок application. В атрибуте android:scheme нужно прописать свой API Key с преффиксом dp-:
Можно переходить к написанию кода. В папке SDK есть несколько примеров. Но у меня они не заработали. Поэтому я просто копировал код из примеров в свой проект и тестировал у себя.
Для начала работы с Sync API необходимо создать объект DbxAccountManager, который позволит связаться с учётной записью пользователя. Данный объект необходимо использовать в любой активности или фрагменте, которые будут взаимодействовать с Dropbox. Обычно используется метод onCreate() для данной задачи.
В переменных APP_KEY и APP_SECRET необходимо вписать ваши секретные данные, полученные в консоли Dropbox.
Следующий шаг — соединение с учётной записью пользователя. При нажатии на кнопку мы запускаем внешнюю активность, а в методе onActivityResult() мы должны обработать полученный результат.
В успешном случае вы можете увидеть сообщение в LogCat: Dropbox user linked.. С этого момента можете считать, что приложение успешно связало учётную запись пользователя с сервером Dropbox.
Подобную связь следует устанавливать один раз, так как Sync API автоматически сохранит данные пользователя на устройстве. При повторном запуске приложения вам следует проверить наличие связи с учётной записью через метод hasLinkedAccount(), например, в методе onResume().
Работаем с файлами
Получив связь с учётной записью, вы можете получить доступ к файловой системе DbxFileSystem, которая доступна для вашего приложения.
Далее вы можете читать и писать в файл через объект DbxFile. При первом соединении с Dropbox через ваше приложение, папка приложения пуста. Но вы можете сразу создать какой-нибудь тестовый файл.
Запись в файл можно производить, даже не имея доступа к интернету. Когда приложение получит доступ к сети, то файлы автоматически будут синхронизированы с сервером. Также можно пользоваться стандартными методами ввода/вывода FileOutputStream и т.д.
Чтение файла также очень простое.
Если файл ещё не закэширован, то метод readString() будет ждать, пока файл не загрузится на устройство. Вы можете перенести это ожидание из основного потока UI, используя Loader, или используя слушатель DbxFile.Listener для отслеживания процесса загрузки файла.
Слушаем изменения
DbxFile связан с определённой версией конкретного файла. Вы можете проверить, закэширован ли файл через метод isCached() и начать немедленно читать файл через метод DbxFile.getSyncStatus(). Если файл ещё не готов, то readString() будет ждать окончания загрузки. Если вы не хотите ждать, то зарегистрируйте слушатель загрузки файла.
Вы также можете проверить последнюю версию файла через переменную isLatest. Если файл на устройстве имеет не самую последнюю версию, то используйте метод DbxFile.getNewerStatus(), чтобы получить статус синхронизации для новой версии файла. Когда файл открыт, Sync API автоматически загрузит новую версию файла и метод getNewerStatus() будет включён в процесс загрузки. После загрузки файла будет установлен статус getNewerStatus().isCached. Тогда вы можете вызвать метод update(), чтобы обновить открытый файл до новой версии.
Также можно прослушивать изменения не одного файла, а сразу всех файлов в папке вашего приложения через DbxFileSystem.PathListener. Также вы можете мониторить статусы фоновой синхронизации и выводить значки статусов при загрузке или выгрузке.
Вы должны избегать ситуаций с открытыми файлами или прослушками, когда ваше приложение неактивно. Используйте метод onPause(), чтобы удалить слушатели и закрыть файлы, а затем в методе onResume() восстановите их в случае необходимости.
Посмотрим, как это выглядело на эмуляторе. Запускаем программу:
Нажимаем на кнопку. Запускается браузер и идёт соединение с сервером Dropbox. Появляется экран для ввода данных учётной записи. Если у пользователя уже есть такие данные, то он вводит свой электронный адрес и пароль.
Далее появляется новый экран, где у пользователя спрашивают согласие на использование программой отдельной папки в Dropbox.
Как только пользователь согласился и нажал кнопку Можно, происходит связывание программы с учётной записью. На настольном компьютере у меня появилась папка Приложения, а в ней ещё одна папка TestDropAlexKlimoff по имени, которое мы задавали в App Console в начале статьи.
Также программа сразу создала текстовый файл hello_kitty.txt и содержанием Hello Kitty. Какая замечательная программа у нас получилась — здоровается с котятами.
А приложение тем временем просмотрело список файлов в отведённой ему папке и вывела результат на экран:
На скриншоте вы видите более ранний вариант моих опытов с Sync API, когда я сначала создал файл hello_dropbox.txt, а затем hello_kitty.txt. Поэтому на экране вывелось два файла. Позже один файл я удалил и в папке остался один файл, который виден на предыдущем скриншоте Проводника Windows 8.
Если закрыть и запустить приложение снова, то программа не будет предлагать вводить учётные данные, а сразу покажет список файлов в папке. Чтобы вернуться к первоначальному варианту со входом, вам нужно разорвать связь приложения с аккаунтом пользователя. Сделать это можно с помощью метода unlink(). Я поместил вызов данного метода в меню.
Таким образом, мы с вами получили базовые знания, как интегрировать приложение в Dropbox. Если эта тема вам интересна, то изучите второй пример из документации notes и поделитесь впечатлениями.
Источник
Dropbox что это за программа и нужна ли она?
Привет юзеры
Сегодня я вам расскажу что это за программа Дропбокс и можно ли ее вам удалить. Значит так, Дропбокс это очень популярное если не самое популярное облако в интернете, в нем вы можете хранить личные файлы, при этом все файлы туда закачиваются через специальную программу (клиент), которая ставится на ваш комп. От себя могу сказать, что программа имеет бесплатную версию, она безопасная, нет вирусов и стабильная. В общем уважаемая компания, поэтому давно уже существует и занимает лидирующую позицию среди интернет-облак
Зачем нужна программа Дропбокс
Для чего нужна программа Дропбокс? Ну, тут уже каждый для себя увидит плюсы и минусы, в основном это сервис для хранения файлов. В общем, постараюсь перечислить основные ключевые моменты:
- при помощи Дропбокса вы можете хранить важные документы, личные файлы в интернете и не переживать о их сохранности, поверьте что Дропбокс об этом уже позаботится лучше; при этом никто ваши файлы не увидит и не сможет заполучить, если вы только не разрешите это;
- все ваши файлы, которые хранятся в облаке, они могут быть доступны другим людям; например вы можете фото закинуть в облако и потом дать ссылку чтобы кто-то их мог скачать;
- изначально вам дается 2 Гб личного места под файлы, но поверьте мне, что благодаря интересной системе наращивания обьема, то вы легко сможете его увеличить вплоть до 25 Гб;
- на компе, после установки специального софта Dropbox, появится некая папка и все что вы туда будете кидать, все это автоматом потом появится в облаке, это очень удобно;
- единственный минус, который мне не нравится, это то что ваши данные на серверах Дропбокса стоят без шифрования; сам процесс передачи зашифрован HTTPS, но вот файлы на серверах уже не зашифрованы; конечно данную проблему решить можно, вы можете как вручную шифровать файлы при помощи TrueCrypt или BoxCryptor, или что еще легче — использовать функцию задавания пароля на архив, в который вы упакуете файлы (кстати данная возможность есть в архиваторе WinRAR); но опять же, я не думаю что в Дропбоксе там у них в компании не подумали о безопасности ваших файлов;
Как вообще выглядит этот Дропбокс?
Перед тем, как пользоваться программой, в ней нужно зарегистрироваться, ну то есть в сервисе Dropbox. Сразу скажу, что я это делал через ихний клиент и ничего сложного там нет. Нужно просто ввести ваше имя, фамилию (можно и ненастоящие конечно) и почту, потом на эту почту придет ссылка, по которой нужно будет активировать аккаунт. А далее в программе будет мини-знакомство с сервисом:
Советую никуда не спешить и прочитать все что там будет сказано, это для вас же полезно будет, разумеется если вам это все интересно
Как все прочитал и прошли это небольшое руководство, то программа уже установится на комп и сразу откроется папка Dropbox, туда можно уже кидать файлы и они скоро автоматически окажутся в облаке. Удобно ведь, неправда ли. Вот эта папка:
Если нажать внизу на иконку программы, то будет такое сообщение, где будет указаны последние файловые передачи в сетевое облако:
Настройки программы Дропбокс
В настройках я думаю вы спокойно сможете разобраться, вот как в них можно попасть:
А вот и само окно настроек:
Если хотите чтобы Дропбокс не загружался вместе с Windows, то снимите вторую галочку на вкладке Общие. На вкладке Аккаунт можете переместить папку, в которую вы можете кидать файлы, ну то есть папку Dropbox. Но делайте это тогда, когда реально в этом есть необходимость. На вкладке Пропуская способность можете задать скорости закачки на/с серверов Дропбокса, чтобы он во время своих дел не мешал вам пользоваться интернетом
Если нажать на эту иконку:
То запустится браузер (который стоит у вас по умолчанию), и в нем откроется страница вашего личного кабинета Дропбокс:
Как удалить программу Dropbox?
Можно ли удалить программу Dropbox? Да, можно, или даже нужно, если вы ней не пользуетесь. Удалив клиент с компа вы не уничтожите полностью свой Дропбокс, вы просто удалите программу, которая связывала ваш комп с серверами Дропбокс. В любой момент в будущем вы сможете себе снова поставить программу, ввести логин и пароль и все заведется
Если вы продвинутый юзер, то советую вам ознакомится вот с этим инструментом — Revo Uninstaller. Это супер программа, которая может удалять софт с вашего ПК и потом еще чистить систему от мусора, который удаляемый софт мог после себя оставить. В общем если есть время и желание — то познакомьтесь, советую
Перед удалением думаю что нужно выйти из программы:
Итак, ну а теперь как удалить Дропбокс с компьютера полностью — нажимаем меню Пуск и выбираем там Панель управления (если у вас Windows 10, то нажмите по Пуску правой кнопкой и там будет данный пункт):
Теперь находим значок Программы и компоненты:
Находим тут Dropbox и нажимаем по ней правой кнопкой, после чего выбираем Удалить:
После этого появится окошко, в котором нужно нажать Uninstall для удаления:
Начнется процесс удаления, он не должен быть долгим:
И все, потом будет написано что все было удалено успешно и осталось нажать только кнопку Close:
Даже перезагрузки делать не нужно, ну в любом случае об этом нам не сообщили
Ну что, теперь вы знаете Dropbox что это за программа, нужна ли она вам и как ее удалить? Надеюсь, что все я нормальненько так и доступно написал, теперь только удачи вам пожелать осталось
Источник