Разработка Фоторамки для Яндекс.Диска под Android и Windows / Хабр

В e-Legion мы стараемся следить за всем, что происходит в мире разработки, и постоянно пробуем различные решения для наших проектов. За 8 лет на рынке разработки приложений мы брались за самые разнообразные проекты для различных платформ и о самых любопытных случаях старались рассказывать на Хабре.

Мы уже более 3-х лет работаем с Яндексом и за это время прониклись сервисами и всей экосистемой главного поиска страны. Поэтому, когда в октябре прошлого года был представлен SDK для Яндекс.Диска, нам стало интересно, что же он умеет, и мы решили разработать простое приложение «Фоторамка» для Android и Windows.

Идея приложения проста: вы загружаете фотографии на Яндекс.Диск, синхронизируете приложение со своим аккаунтом и получаете слайд-шоу. Чтобы поделиться фотографиями с друзьями и родителями, нужно просто настроить приложение на их девайсах и расшарить папку с фотографиями на Яндекс. Диске на их аккаунты. Фотографии автоматически появятся в «Фоторамке» на других девайсах. В общем, проще один раз попробовать.

Нашей целью было сделать простое и удобное приложение для легкого шеринга новых фотографий с друзьями и близкими, поэтому интерфейс программы сделан максимально простым и понятным. При первоначальном запуске показывается wizard, где пользователь может выбрать каталог для синхронизации и изменить некоторые стандартные настройки. После выбора папки для синхронизации, «Фоторамка» рекурсивно просматривает всю структуру каталога. Далее происходит фильтрация файлов и в кэш на устройстве пользователя загружаются только файлы изображений.

После завершения операции синхронизации, «Фоторамка» периодически опрашивает сервер для просмотра изменений в структуре каталогов или файлах. При обнаружении изменений повторно запускается механизм синхронизации. Если у пользователя отсутствует соединение с интернетом, то «Фоторамка» работает в оффлайн режиме — все функции за исключением синхронизации с сервером остаются в работе. Кстати, у приложения для Windows есть приятный бонус: возможность настраивать скринсейвер и автоматическую смену обоев рабочего стола. Это легко реализуется, изменив несколько параметров в реестре и вызвав WinAPI-функцию.

Windows

Windows-версия «Фоторамка» была написана на языке C# на платформе .NET Framework 4.0. Выбор не самой последней версии .NET Framework обусловлен поддержкой Windows XP.

Клиентское приложение построено на базе Windows Presentation Foundation (WPF), с использованием шаблона проектирования MVVM. Инсталлер «Фоторамки» написан с помощью наборов инструментов Windows Installer Xml (WiX).

Android

Android-приложение работает на версиях начиная с 2.3. Разрабатывая приложение «Фоторамка», мы решили попробовать реализовать для экрана «слайд-шоу», так называемый Immersive mode, который был представлен в версии Android 4.4 (подробнее про него можно прочитать здесь habrahabr. ru/post/200874). Но нашей целью было сделать приложение, которое бы умело работать не только с версией 4.4. Спрятать и статусбар, и экранные кнопки можно было на прошлых версиях Android 4.x (так, как это реализовано в приложении YouTube на 4.3). При активном Immersive Mode на версии 4.4 тап по экрану вызывает TouchEvent, в то время как в полноэкранном режиме на версии 4.3 по первому тапу происходит выход из режима, и только второй тап уже дойдет до самой вьюшки, по которой нажимали. Перед нами стояла задача отловить тап по экрану и показать дополнительный слой поверх изображения, и поэтому нужно было отловить именно этот первый тап.

Чтобы узнать о выходе из полноэкранного режима на 4.3, нужно было вызвать getWindow().getDecorView() у активити и у полученной вьюшки поставить слушателя setOnSystemUiVisibilityChangeListener(…).

Но и с этим было не все так гладко. Метод onSystemUiVisibilityChange вызывался только спустя целую секунду после того, как мы тапнули и вышли из полноэкранного режима. Таким образом, пришлось отказаться от этой идеи полностью и скрыть экранные кнопки на девайсах с версиями до 4.4. В итоге, на четверках мы поставили флаги fullscreen и low_profile, а на остальных девайсах с 2.3 или 3.x — просто fullscreen.

SDK Яндекс.Диска

SDK для Windows написан на языке C# под .NET 4.0 и представляет из себя несколько проектов Visual Studio. Среди этих проектов есть примеры реализации собственного приложения под каждую из платформ. SDK без изменений подключается к разработке на Windows Phone 7.5 и выше, Windows Store и Silverlight 4 и выше приложений. Взглянув на пример проекта под Windows, нам не составило труда построить всю логику работы «Фоторамки» с Яндекс.Диском.

Аутентификация пользователя осуществляется по протоколу OAuth или с помощью Basic-аутентификации на выбор. Для синхронизации с сервером мы использовали GetListAsync и DownloadFileAsync. Видно, что все методы асинхронные, и это, несомненно, является плюсом.

Во время работы с Windows SDK мы обнаружили небольшую ошибку. Если на Яндекс.Диске находится файл размером более двух гигабайт, то метод GetListAsync не сможет вернуть список файлов из этой директории. В исходниках SDK быстро удалось обнаружить проблему: происходило превышение максимально допустимого значения для Int32. В результате, решение заняло не более пяти минут.

Под Android SDK представляет собой подключаемую библиотеку. Все её возможности подробно рассмотрены в примере приложения, который распространяется вместе с SDK в GitHub-репозитории. В нем же и показан самый оптимальный способ того, как в приложении реализовать авторизацию: сначала на устройстве ищется уже существующий аккаунт Яндекса, в который пользователь вошел через какое-либо из официальных приложений Яндекса, и если такой есть, то вход происходит через него. Если его нет, то следует отправить пользователя в браузер на страницу входа в аккаунт.

Для начала нужно создать OAuth приложение на соответствующей странице. Там же заполнить поле «Callback URI» каким-нибудь url, возврат на который после будем отлавливать в нашем приложении через intent-filter Activity авторизации. Таким образом, мы получаем access_token, который и потребуется для работы с SDK.

Для загрузки изображений в «Фоторамке» требовалось использовать метод API, позволяющий получать изображения в необходимом уменьшенном разрешении, соответствующем размеру экрана. К сожалению, доступ к этому методу в текущей версии SDK ещё не был реализован, так что пришлось немного подправить метод для загрузки файлов и добавить к нему возможность передавать дополнительный параметр «size».

Исходный код SDK можно скачать c GitHub по ссылкам для Windows и для Android.

Заключение

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

Приложение уже вышло в стор, скачать его можно по ссылкам на странице описания проекта.

Будем рады вашему фидбеку и вопросам.

Фоторамка Тыква DIY Осенний декор

Долларовое дерево своими руками | Осень своими руками | Сезонные поделки

Хорошо, я знаю, что часто говорю это, но я действительно думаю, что попал в самую точку с этим осенним декором в виде тыквы в рамке для фото! Этот осенний проект «сделай сам» не только очень вонючий, но и очень доступный!

Посмотрите обучающее видео «Сделай сам»

Я поделился кратким мастер-классом по изготовлению этой тыквы в фоторамке «Сделай сам осенний декор» вместе с тремя другими оранжевыми и черными идеями «сделай сам» для осени на моем канале Youtube!

Ознакомьтесь с другими идеями «сделай сам»:
  • Форма для пиццы «Долларовое дерево» Декор из потертой тыквы своими руками
ПОСМОТРИТЕ РУКОВОДСТВО ПО СДЕЛКИ СДЕЛКИ НА YOUTUBE

Я записала, как сделать эту очаровательную тыкву в рамке, во время прямого эфира на моей странице в Facebook.

Если вы хотите увидеть, как делается своими руками, что-то мастерить или просто поучаствовать в веселых беседах, вы можете посмотреть повтор урока «Сделай сам» на Facebook!

ПОСМОТРЕТЬ РУКОВОДСТВО ПО СДЕЛКЕ НА FACEBOOK
В этом проекте я буду использовать эти предметы, но вы можете заменить их там, где хотите.

«Как сотрудник Amazon я зарабатываю на соответствующих покупках».

  • Долларовое дерево 2,5 × 3,5 рамки с картинками (x4)
  • Долларовое дерево Испанский мох
  • СЕРЕ СЕРЕЙНА Ткань в черно-белую полоску
  • Состаренная бумага для скрапбукинга в оранжево-черную полоску
  • Бумага для скрапбукинга в оранжевый, желтый и черный горошек
  • Меловая краска тыквенного цвета Waverly
  • Белая меловая краска Waverly
  • Пистолет для горячего клея
  • Клей-карандаш
Как сделать тыквенную рамку для фото в осеннем декоре своими руками

Начните этот проект, удалив заднюю часть и стеклянные вставки из четырех Рамки для картин «Долларовое дерево». Затем покрасьте каждую рамку оранжевой меловой краской Waverly Orange.

Затем вырежьте два прямоугольника из бумаги для вырезок в черно-оранжевые полоски и один прямоугольник из бумаги для вырезок в горошек, которые имеют тот же размер, что и стеклянные вставки фоторамки.

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

Когда белая краска высохнет, замените стеклянную вставку вырезами из бумаги для вырезок и поместите подложки в рамки.

Для четвертой рамки просто вставьте в нее стекло и подложку. Эта рамка будет задней частью вашей тыквы.

Соберите все вместе

Горячим клеем две рамки с полосатой бумагой для вырезок к передней части задней рамки. Затем приклейте горячим клеем рамку со вставкой в ​​горошек по центру рамы для картин.

Теперь приклейте винную пробку к верхней части рамы для картин и приклейте горячим клеем испанский мох долларового дерева вокруг пробки.

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

Вот еще один способ сделать многослойный небрежный бант.

Наконец, я сложил полоски ткани в виде буквы Х и скрепил их куском джутовой бечевки. Я обрезал концы, распушил бантик и приклеил его горячим клеем к основанию пробки.

Надеюсь, вам понравился этот осенний декор в виде тыквы в фоторамке так же, как и мне, и вы решили сделать его для себя! Если вы это сделаете, я хотел бы видеть, как получается у вас!

Вы должны обязательно присоединиться к моей БЕСПЛАТНОЙ группе Facebook под названием «Бюджетные поделки»! Это свободное от суждений сообщество мастеров, которые могут продемонстрировать свои проекты и идеи.

Если вам понравился этот осенний декор в виде тыквы в фоторамке, вам также могут понравиться эти идеи своими руками!
  • Осенний шаблон тыквы из пенопласта
  • Долларовое дерево DIY Осенняя бусина Candy Corn
  • DIY Пугало Полка Sitter

Спасибо, что заглянули! XOXO Amber

Вы также можете делать покупки в моем ВСЕМ магазине AMAZON Favorites, просто нажмите здесь! В нем полно всего того, чем я пользуюсь и что люблю. Вот список материалов, который я настоятельно рекомендую иметь под рукой каждому креативщику!

Не могли бы вы также закрепить мой блог на потом и получать оповещения о новостной рассылке? Я бы хотел, чтобы вы присоединились к моему #craftycrew.

Я уведомляю вас по электронной почте о новых блогах, таких как этот Осенний декор в виде тыквы в фоторамке, чтобы вы всегда были в курсе забавных и новых идей для творчества!

Вдохновленный? Оставьте мне комментарий ниже! Я люблю слышать от моих читателей!

Присоединяйтесь к моей бесплатной группе «НА БЮДЖЕТНЫЕ ПОДЕЛКИ» в Facebook!   

Метки сообщения: #осенний декор комнаты#сделай сам осенний домашний декор ремесло#долларовое дерево#рамы для картин из долларового дерева#осенний декор#фермерский дом#тыква#рамка для фото#тыква#полка няня

Пять осенних идей поделок для уютного дома

Когда вы думаете, как украсить свой дом в праздничном осеннем стиле, обратите внимание на рамку для фотографий — обычно упускаемый из виду предмет, который можно использовать для многих идей осеннего декора. Будь то просто покраска рамы в красивые осенние цвета или использование самой рамы в качестве центрального элемента, вот пять забавных идей осенних поделок, подходящих для детей, — все с использованием рамок для картин.

Рамки для фотографий, вдохновленные природой

Материалы:

Рамка для фотографий
Желуди, сосновые шишки, листья
Пистолет для горячего клея
Фотография и используйте их для этой осенней поделки для детей. Отправляйтесь в поход на природу и, наслаждаясь прекрасной погодой, собирайте опавшие желуди, сосновые шишки и даже листья.

Выберите простую рамку с чистой поверхностью и приклейте свои находки горячим клеем прямо на рамку. После высыхания сделайте свой любимый семейный портрет (или любую другую фотографию) и покажите.

Прессованные листья

Рабочее место флориста с сухими цветами Список имен на черной доске

Материалы:

Листья
Вощеная бумага
Матовая доска
Тяжелые книги
Газетная бумага или бумага для вырезок
Рамка 2
Mod Podge 900 craft 900 Идея займет немного больше времени, она добавит элегантный осенний штрих в ваш дом. Найдите снаружи красивые листья и поместите их между двумя листами вощеной бумаги. Возьмите листы вощеной бумаги с листьями внутри и поместите между страницами тяжелой книги. Затем положите тяжелые книги поверх первой и оставьте на неделю.

Пока листья сохнут и распрямляются, отмерьте кусок газеты или бумаги для вырезок, чтобы он подходил к выбранной вами раме и матовой доске. Когда листы высохнут, станут плоскими и готовы к работе, выберите один из них и аккуратно наклейте его на газету или бумагу для вырезок с помощью Mod Podge.

Не забудьте отмерить положение листа, чтобы убедиться, что он точно находится по центру доски мата. Как только бумага высохнет, вставьте готовый проект в рамку.

Рамка для благодарности

Материалы:

Пустая рамка
Веревка (бечевка, пряжа и т. д.)
Лента
Плотная бумага
Прищепки
Маркер
Благодарное отношение к осени может быть забавой, осенью

3 900 проект для всей семьи. Это не только приятно смотреть, но и отличный способ собрать семью, чтобы обсудить, за что все благодарны вплоть до Дня Благодарения.

Возьмите открытую рамку и прикрепите шпагат зигзагообразным узором на обратную сторону. Затем возьмите плотную бумагу цвета осенних листьев и либо нарисуйте листья от руки, либо используйте этот шаблон, а затем вырежьте листья.

Каждый день пусть каждый член семьи записывает на каждом листе несколько вещей, за которые они благодарны. Повесьте каждый листочек на раму с помощью прищепок. Поместите на камин или в другое место с интенсивным движением вашего дома, чтобы напомнить обо всем, за что ваша семья благодарна в этом году.

Рамки для индейки

Материалы:

Пистолет для горячего клея
Гугли-глазки
Коричневая краска
Кисти
Перья
Листы пенопласта
Обычная деревянная рамка

Готовый продукт из этих рамок для индейки может быть достаточно милым, чтобы заменить вашу настоящую индейку в качестве центрального украшения на День благодарения. Покрасьте простую деревянную раму в коричневый цвет; когда краска высохнет, приклейте пистолетом для горячего клея перья на задней части рамы (оставив место для вставки изображения) и «гугловые» глаза спереди для глаз индейки. Возьмите желтый или красный лист пенопласта, вырежьте небольшой треугольник и приклейте его к нижней части рамы под стеклом. Когда клей высохнет, вставьте любимую праздничную фотографию.

Праздничный осенний венок

Материалы:

Рамка для фотографий
Два разных цвета аэрозольной краски
Деревянные буквы
Осенняя листва (настоящая или искусственная)

Палочки корицы
Лента
Пистолет для горячего клея, не рекомендуется5 Пистолет для горячего клея 9012 обязательно)

Для этой осенней поделки рама является центральным элементом готового изделия. Это недорого и легко сделать, и это добавит уюта и праздничного осеннего элемента вашей входной двери.

Возьмите простую деревянную раму без стекла и покрасьте ее аэрозольной краской в ​​цвет, который будет выделяться на фоне входной двери.

Автор записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *