Тип работы:
Предмет:
Язык работы:


РАЗРАБОТКА РЕШЕНИЯ СИНХРОНИЗАЦИИ СОСТОЯНИЙ ВИДЕОПОТОКА НА НЕСКОЛЬКИХ УСТРОЙСТВАХ ПОД УПРАВЛЕНИЕМ ОС ANDROID

Работа №84412

Тип работы

Дипломные работы, ВКР

Предмет

информатика

Объем работы53
Год сдачи2016
Стоимость4310 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
29
Не подходит работа?

Узнай цену на написание


ВВЕДЕНИЕ 3
1. ТЕХНОЛОГИЯ РАЗРАБОТКИ 5
1.1. Web-приложение 5
1.2. Нативное приложение 6
1.3. Гибридное приложение 8
1.4. Выбор подхода 9
2. ТЕХНИЧЕСКОЕ ЗАДАНИЕ 10
2.1. Полное наименование системы 10
2.2. Краткое наименование системы 10
2.3. Назначение и цели создания системы 10
2.4. Требования к системе 10
3. ИССЛЕДОВАНИЕ СПОСОБОВ СИНХРОНИЗАЦИИ 14
3.1. Websocket API 14
3.2. Push-уведомления 15
3.3. Исследование потребления батареи 16
4. РАЗРАБОТКА КЛИЕНТСКОЙ ЧАСТИ 19
4.1. Интерфейс и функционал 19
4.2. Выбор версий для поддержки 21
4.3. Взаимодействие с сервером 22
4.4. Экран просмотра списка доступных видеоматериалов 24
4.5. Экран просмотра детальной информации о видеоматериале 26
4.6. Экран авторизации 28
4.7. Экран регистрации 30
4.8. Личный кабинет 31
4.9. Диалоговое окно загрузки видео 32
4.10. Экран просмотра видеоматериала 33
4.11. Реализация видео-плеера с поддержкой Websocket API 33
4.12. Чат 34
5. РАЗРАБОТКА СЕРВЕРНОЙ ЧАСТИ 35
5.1. Список доступных видеоматериалов 35
5.2. Авторизация 36
5.3. Регистрация 38
5.4. Создание комнаты и просмотр видеоматериала 38
6. СИНХРОНИЗАЦИЯ И СИСТЕМА ПРАВ 40
6.1. Синхронизация 40
6.2. Система прав 41
7. ЗАКЛЮЧЕНИЕ 42
8. ИСПОЛЬЗУЕМЫЕ ИСТОЧНИКИ 43
9. ПРИЛОЖЕНИЯ

На сегодняшний день существует множество решений для различных платформ, которые направлены на взаимодействие нескольких пользователей в режиме онлайн. Тем не менее есть множество сфер, для которых не существует подобных решений в принципе. Одной из таких сфер является просмотр видеоматериалов. Похожими решениями для таких целей могут являться различные сервисы, которые обеспечивают стримминг видео. В этих сервисах пользователи, находящиеся в разных ме стах, могут в реальном времени про сматривать видеоматериалы, параллельно обсуждая их друг с другом, что очень удобно. Однако особенностью таких сервисов является то, что для трансляции видеопотока необходим источник трансляции, которым является какой-либо пользователь, а сервис просто передает поток данных от источника другим пользователям. Но что, если несколько пользователей, находящихся на расстоянии друг от друга, захотят просмотреть совместно какой-либо фильм или видеоматериал, который уже был отснят ранее? Для решения такой задачи сервисы для стримминга не подойдут, так как нет гарантии того, что видеоматериал будет доступен в любой момент времени. Нужно такое решение, где контент будет храниться в централизованном хранилище и будет доступен для просмотра пользователями в любой момент времени.
Сегодня очень популярным направлением являются мобильные разработки, так как практически каждый человек имеет смартфон. Популярность такого направления можно объяснить тем, что на сегодняшний день смартфоны обладают мощными ресурсам и одновременно с этим компактными размерами. В связи с ростом мощности на смартфонах уже сейчас можно решать задачи, которые несколько лет назад могли быть выполнены исключительно на компьютерах. Поэтому было решено, что решение, разработанное в рамках дипломной работы, должно быть направлено в сторону мобильных устройств, чтобы позволить пользователем воспользоваться его функционалом в любом месте в любой момент времени.
По данным статистических исследований на сегодняшний день наиболее популярными мобильными платформами являются Android от компании Google, iOS от компании Apple и Windows Phone (с недавних пор такая операционная система перестала существовать и превратилась в ОС Windows 10, которая является универсальной для всех устройств) от Microsoft. Большую часть среди трех представленных платформ занимает Android - около 80 % всех мобильных устройств. Таким образом, было принято решение о разработке решения именно для платформы Android с целью охвата большего числа пользователей.
Целью данной дипломной работы является разработка мобильного клиент-серверного приложения для платформы Android, позволяющего про сматривать видеозаписи на пользователями разных устройств совместно в реальном времени.
Для достижения данной цели были поставлены следующие задачи:
1. Проектирование архитектуры и интерфейса клиентского приложения.
2. Проектирование архитектуры сервера.
3. Проектирование архитектуры взаимодействия клиента и сервера.
4. Разработка серверной части приложения.
5. Разработка приложения-клиента “HomeCinema”.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В результате выполнения данной дипломной работы было разработано мобильное клиент-серверное приложение “HomeCinema”. Данное приложение позволяет пользователям с разных уголков планеты объединяться вместе для совместного просмотра каких-либо видеоматериалов.
В процессе выполнения данной работы был реализован следующий функционал:
- авторизация пользователя;
- регистрация пользователя;
- смена пароля аккаунта пользователя;
- просмотр доступных видеоматериалов;
- просмотр детальной информации о видеоматериале;
- создание комнат (сеансов) для просмотра видеоматериала;
- просмотр видеоматериалов совместно с другими пользователями в реальном времени;
- чат между пользователями;
- контроль проигрывания видеоматериала авторизованными пользователями;
- загрузка видеоматериалов на сервер пользователями.
Приложение поддерживает операционные системы Android от версии 4.1 (Jelly Bean), что говорит о том, что охвачено большинство пользователей данной операционной системы. В будущем планируется разработка приложения-клиента для других платформ, что позволит охватить большее число пользователей



1. Websocket - материал из Википедии - свободной энциклопедии [Электронный ресурс] / Режим доступа:
https://ru.wikipedia.org/wiki/WebSocket, свободный
2. Технология Push - материал из Википедии - свободной энциклопедии [Электронный ресурс] / Режим доступа:
https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D1%85%D0%BD%D0%B
E%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F_Push, свободный
3. Статистика версий ОС Android - официальный сайт разработчиков Android [Электронный ресурс] / Режим доступа:
https://developer.android.com/about/dashboards/mdex.html7hUru, свободный
4. Retrofit [Электронный ресурс] / Режим доступа:
http:// square. github .io/retrofit/, свободный
5. Glide [Электронный ресурс] / Режим доступа:
http s: // github .com/bumptech/ glide, свободный
6. Сравнение Parcelable и Serializable [Электронный ресурс] / Режим доступа: https://habrahabr.ru/post/174015/, свободный
7. Node.js - материал из Википедии - свободной энциклопедии [Электронный ресурс] / Режим доступа:
https://ru.wikipedia.org/wiki/Node.js, свободный
8. Sequelize [Электронный ресурс] / Режим доступа: http ://docs. sequelizej s. com/en/latest/, свободный
9. OAuth 2.0 простым и понятным языком [Электронный ресурс] / Режим доступа: https://habrahabr.ru/company/mailru/blog/115163/, свободный


Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ