#android #api #server
#Android #API #сервер
Вопрос:
Я хочу подключить свое приложение для Android к серверной части. Целью проекта является фильтрация спам-сообщений. Таким образом, приложение получает SMS-сообщения, а затем должно пересылать их на сервер для фильтрации спама, который использует машинное обучение. Теперь дело в том, что у нас есть программа на python для машинного обучения, но я не знаю, как соединить эти две вещи — приложение для Android и программу на python. Нужны рекомендации о том, как приложение может отправлять данные (sms) и получать ответы (будь то спам или нет) на стороне сервера и с него.
Ответ №1:
Общий подход заключается в подключении вашего клиента к веб-серверной части, которая предлагает веб-API (может быть REST API).
Вот краткий обзор по этой теме: https://www.webiotic.com/api-for-mobile-apps /
Что вам нужно, так это веб-сервер, который может принимать веб-вызовы и отправлять обратно информацию. Веб-сервер в этом смысле — это просто программа, которая прослушивает входящие HTTP-вызовы.
В вашем случае это может выглядеть так:
- Сервер запрограммирован на прослушивание веб-вызовов с помощью метода HTTP
POST
на маршруте/checkMessage
- Он ожидает данные сообщения в определенном формате
- Например, в формате JSON с таким содержимым:
{"message":"Your actual SMS message"}
- сервер проверяет свою базу данных или запускает задание ML
- сервер возвращает результат в указанном формате. Например, этот JSON:
{"isSpam":true}
- Затем вашему приложению необходимо отправить
POST
вызовhttps://www.[YOUR_URL]/checkMessage
с указанными данными и дождаться ответа - Существуют библиотеки для Android, которые помогут вам в этом, например, Retrofit или OkHttp
Что касается того, какую технологию использовать: это зависит от вас. Вы можете создать веб-серверную часть практически на любом языке. В вашем случае вам следует проверить, какие библиотеки Python доступны для прослушивания HTTP-соединений.
Имейте в виду, что если ваше приложение может публично получить доступ к вашему бэкэнду, то и все остальные тоже могут. Вы также захотите добавить какую-то аутентификацию.