Коротко и ясно о разработке на Objective-C, JavaScript, C#, Java, Swift. Под Android, iOS, WinForms и Unity

Позднее Ctrl + ↑

Использование DownloadManager для скачивания файлов из сети (Android)

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


Сегодня же хотелось бы рассказать о более интересном и предпочтительном способе скачивания файлов — использовании системного сервиса DownloadManager.


DownloadManager это такой сервис платформы Android, который предоставляет весь спектр функциональности, связанной с загрузкой файлов. Он сам начнет скачивание, корректно отреагирует на обрыв связи или смену типа сети, запустит скачивание по новой (если был обрыв связи), создаст и отобразит уведомление о загрузке файла, уведомит MediaScanner о том, что файл загружен и многое другое.

Сохранение файлов из сети на диск в публичную директорию (Android)

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


  1. Скачать и сохранить файл вручную;
  2. Использовать класс DownloadManager и доверить работу ему.

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


В этой статье мы рассмотрим ручной способ сохранения на диск применительно к Xamarin.Android. Более интересный вариант с использованием DownloadManager будет рассмотрен в другой статье.

Применение констрейнтов для загруженного Xib в iOS

Очень часто возникает ситуация, когда необходимо переиспользовать часть интерфейса. Для решения этого вопроса в iOS лучше всего подходит вынесение элемента интерфейса в отдельный Xib-файл и последующая его загрузка из кода. Когда мы грузим Xib как ячейку таблицы — он скаллируется автоматически в зависимости от размера ячейки, но если загружать и добавлять его например в произвольный контроллер или View — то могут возникнуть сложности с масштабированием View из Xib при ресайзе родительской View.


Начиная с iOS 7 Apple дает нам возможность решать вопрос масштабирования при помощи нового инструмента — Auto Layout Constraints. Но при загрузке View из кода ей не проставляются никакие констрейнты автоматически.


Выход — добавить констрейнты вручную.

Динамическое изменение лэйаута для прортретной и ландшафтной ориентации на iPad

Хороший интерфейс пользователя должен быть адаптивным и изменяться в зависимости от размера и соотношения сторон экрана. Всем известно, что компания Apple обладает своим собственным подходом к построению интерфейса. В отличии от Android, для того чтобы нарисовать интерфейс для iOS не достаточно описать его с помощью декларативного языка. На iOS придется работать в Interface Builder, рисовать контролы ручками и описывать их взаимоотношения при помощи “ограничений” (Auto Layout Constraints).

Colorizer — определить цвет

Ссылка на Play Market: Colorizer — определить цвет


Colorizer — приложение для определения параметров цвета. Просто наведи прицел на объект и Colorizer определит его цвет. После, нажатием одной кнопки можно сделать скриншот и расшарить его, или сохранить в заметки.

Приложение отображает HEX, RGB и CMYK коды цвета.

Ранее Ctrl + ↓