Проектная работа «Облачный определитель номера с функцией блокировки» | OTUS
🔥 BLACK FRIDAY!
Максимальная скидка -25% на всё. Успейте начать обучение по самой выгодной цене.
Выбрать курс

Курсы

Программирование
iOS Developer. Basic
-25%
Python Developer. Professional
-25%
Разработчик на Spring Framework
-25%
Golang Developer. Professional
-25%
Python Developer. Basic
-25%
iOS Developer. Professional
-25%
Highload Architect
-25%
JavaScript Developer. Basic
-25%
Kotlin Backend Developer
-25%
JavaScript Developer. Professional
-25%
Android Developer. Basic
-25%
Unity Game Developer. Basic
-25%
Разработчик C#
-25%
Программист С Web-разработчик на Python Алгоритмы и структуры данных Framework Laravel PostgreSQL Reverse-Engineering. Professional CI/CD Vue.js разработчик VOIP инженер Программист 1С Flutter Mobile Developer Супер - интенсив по Kubernetes Symfony Framework Advanced Fullstack JavaScript developer Супер-интенсив "Azure для разработчиков"
Инфраструктура
Мониторинг и логирование: Zabbix, Prometheus, ELK
-25%
DevOps практики и инструменты
-25%
Архитектор сетей
-25%
Инфраструктурная платформа на основе Kubernetes
-25%
Супер-интенсив «IaC Ansible»
-16%
Разработчик программных роботов (RPA) на базе UiPath и PIX
-25%
Супер-интенсив "SQL для анализа данных"
-16%
Базы данных Сетевой инженер AWS для разработчиков Cloud Solution Architecture Разработчик голосовых ассистентов и чат-ботов Внедрение и работа в DevSecOps Администратор Linux. Виртуализация и кластеризация Нереляционные базы данных Супер-практикум по использованию и настройке GIT IoT-разработчик Супер-интенсив «ELK»
Специализации Курсы в разработке Подготовительные курсы
+7 499 938-92-02

Проектная работа «Облачный определитель номера с функцией блокировки»

Предлагаем вашему вниманию проектную работу Владислава Султанярова, выпускника курса «Разработчик Java». В ней Владислав реализовал клиент-серверный продукт для ограждения абонентов от нежелательных звонков.

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

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

Таким образом, работа сервиса заключается в предоставлении информации клиенту по входящему вызову и сохранении соответствующей информации после звонка (если пользователь передаст её). К слову, нечто похожее реализовано в приложении Kaspersky Who Calls.

Особенности реализации

Функционал, который удалось реализовать: 1. Серверное приложение: 1.1. Метод для ввода данных об абоненте. 1.2. Метод для получения информации об абоненте. 2. Мобильный клиент: 2.1. Создание главного экрана приложения с возможностью просмотра номеров в списке спама, добавления или удаления других номеров. 2.2. Перехват входящего вызова от абонента. 2.3. Отправка запроса на сервер для получения информации об абоненте (передаём номер). 2.4. Создание формы для вывода информации об абоненте (описание или имя и категории спама, если есть). 2.5. Добавление пользователя в спам или закрытие формы.

Схема взаимодействия базы данных и клиента

1-20219-6abeeb.png

Особенности работы Java под Android

В операционной системе Android для разработки приложений используется Java. Можно писать код приложения для Android с помощью предоставляемого Google API Java, который затем будет скомпилирован в файлы классов. На этом схожесть заканчивается. Android не использует виртуальную машину Java (JVM) для выполнения файлов классов, вместо этого, в нём используется виртуальная машина Dalvik, не являющаяся истинной JVM и не работающая с Java-байткодом.

Для выполнения на виртуальных машинах Dalvik файлы классов компилируются в формат DEX (Dalvik EXecutable – исполняемые файлы Dalvik). После преобразования в формат DEX, файлы классов вместе с другими ресурсами объединяются в пакеты Android (APK) для распространения и инсталляции на различных устройствах. Главное, что следует знать: в основе базовой библиотеки классов виртуальной машины Dalvik лежит подмножество проекта Apache Harmony, вследствие чего она не поддерживает всё API J2SE.

Чистая архитектура

2-20219-bd9aa9.png

Модель-Вид-Представитель

3-20219-dd209d.png

Схема базы данных

4-20219-b0fd02.png

Вывод

В результате выполнения данной работы студент курса научился разрабатывать клиентские приложения для Android OS и узнал ряд особенностей данной операционной системы. Кроме того, научился создавать серверные приложения с помощью Spring Boot и смог на практике применить полученные на курсе знания.

За предоставленные материалы выражается благодарность автору проекта Владиславу Султанярову. Технические особенности реализации смотрите по ссылке на GitHub Владислава.

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
🎁 Максимальная скидка!
Черная пятница уже в OTUS! Скидка -25% на всё!