Тема: Проектирование и разработка библиотеки для взаимодействия с камерой в парадигме реактивного программирования для ОС Android
Характеристики работы
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
2. Разработка 5
2.1 Реактивный интерфейс 5
2.2 Объект предпросмотра 8
2.3 Поток отрисовки 20
3. Внедрение 24
4. Заключение 26
5. Литература
📖 Введение
Парадигма реактивного программирования набирает популярность в системе Android, так как данный подход заметно уменьшает код, делает его чище, безопаснее и более удобным для чтения. Все эти качества концепции заметно ускоряют разработку, что уменьшает стоимость разработки приложения и положительно влияет на весь рынок. Парадигма оценена ведущими мировыми разработчиками, так что на данный момент многие компоненты активно обретают оболочки данного подхода. Для работы с камерой также существует оболочка, она называется RxCamera. Данная библиотека позволяет сделать снимок с камеры буквально в одну строку программного кода. Она также позволяет открывать фотографию из галереи в таком же интерфейсе реактивного программирования. Работает она с помощью системных средств - Intent[5] и является интерфейсом для инкапсуляции посылов и получений намерений системе.
Однако на этом ее преимущества заканчиваются, она не позволяет снимать видео, серию снимков, обрабатывать их во время предпросмотра, не позволяет себя расширять, в общем представляет из себя только Rx обертку системного вызова фотографии с камеры.
Системное API позволяет делать все вышеописанное, однако оно очень сложно в освоении и реализации, разработчику приходится писать много кода. Это нарушает общую функциональную структуру проекта и усложняет разработку.
Таким образом, цель дипломной работы - спроектировать и разработать библиотеку, которая позволяла бы управлять камерой в реактивной парадигме.
✅ Заключение
Библиотека отличается большей гибкостью, при сохранении легкости управления. Широкие возможности библиотеки определяются следующими особенностями реализации:
• Во-первых, разработчик получает самый большой контроль над камерой и графикой предпросмотра, насколько это позволяет система Android.
• Во-вторых, транслирование предпросмотра (изображения с камеры) идет в текстуру OpenGL, тем самым, предоставляя возможность работы с графической библиотекой. Интерфейс в потоке рендеринга также предоставлен, так что разработчик может модифицировать предпросмотр с камеры на лету, не делая фотографии.
• В-третьих, транслируя текстуру через системный контейнер Surface, библиотека получит возможность манипулировать с данными: как снимать снимки, так и сохранять данные в формате mp4, что добавляет полезный функционал библиотеке.
• В-четвертых, разработчику предоставлен простой и быстроразворачиваемый интерфейс для работы с камерой, построенный на основе набирающих популярных библиотек на известной парадигме программирования
2.0. Исходные коды открыты и могут быть изменены для решения нужд пользователей, если такой функционал не был предусмотрен при разработке библиотеки.



