Android с серверной частью? Почему не локально?

Начну с самого простого..! Есть идеи, почему нам нужен отдельный сервер для нашего приложения для Android? Просто подумайте о ситуации, когда все пользователи, использующие мобильное приложение, получают данные и отправляют данные на сервер облачной базы данных!

Почему REST API?

API-интерфейсы REST взаимодействуют через http-запросы для обеспечения связи между вашим интерфейсным приложением и базой данных! Точно так же, как вы находитесь в Азии со своим мобильным приложением, а база данных размещена на сервере в Америке. Вам нужен агент для установления связи между вашим мобильным приложением и базой данных, не так ли?? Здесь вы можете реализовать свой собственный REST API. Он будет связываться с вашей центральной базой данных, используя функции, которые вы реализовали для выполнения CRUD. Ваше внешнее приложение устанавливает соединение и делает http-запрос для получения данных из базы данных. Реализованный вами REST API будет работать с этими запросами и отправлять вам данные в виде http-ответа.

Почему Flask?

Мой первоначальный вариант использования заключался в том, что я работал над мобильным приложением на основе машинного обучения, и мне нужно было выполнить предварительную обработку и прогнозирование с использованием Python и библиотек, совместимых с Python. Следовательно, было важным требованием иметь серверную часть Python, и именно здесь я вошел в «Flask»! В этом подходе мы можем отправлять наши данные с Android на сервер Flask через вызовы REST API и выполнять обработку, связанную с python, внутри сервера flask и возвращать выходные данные в наше приложение для Android через вызов REST API. Да, даже на первый взгляд просто, но приятно!

Здесь я использую «okhttp», стороннюю библиотеку, разработанную «Square» для отправки и получения http-запросов.

Я собираюсь продемонстрировать вам, как подключить внешнее приложение Android к серверу Python, реализованному с помощью Flask!

Вот шаги!

1. Создайте свое приложение для Android

2.Создать сервер Flask

3. Соедините Android-приложение и сервер

Эта демонстрация содержит простой пользовательский интерфейс.

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

При нажатии на кнопку «Отправить запрос на получение» на сервер будет отправлен запрос GET, и соответствующая функция сервера «get_fact()» вернет текст ответа. Он будет отображаться в текстовом представлении внизу.

Итак, давайте посмотрим, как это сделать!

1. Создайте свое приложение для Android

я. Просто откройте Android Studio и нажмите File->New Project, чтобы создать новый проект.

II. Затем я выбираю «Пустая активность» в этом предварительном просмотре. (Вы можете выбрать предпочтительный вид!)

Выберите шаблон действия и нажмите «Далее».

III. Дайте вашему проекту имя, а затем нажмите «Готово», как показано на изображении ниже.

Сейчас создается приложение для Android. Подождите некоторое время, пока ваша IDE сделает это за вас!

Я создаю простой пользовательский интерфейс с текстовым полем, кнопками и текстовым представлением, как упоминалось ранее. А пока просто скопируйте и вставьте приведенный ниже код в файл activity_main.xml. В конце вы получите четкое представление!

Теперь нажмите кнопку запуска в среде IDE, и вы увидите конкретный пользовательский интерфейс в симуляторе или эмуляторе:

2. Создайте сервер Flask

В другом месте (не в каталоге проекта Android) создайте новый файл с именем server.py и скопируйте туда следующий код.

Теперь откройте cmd в том же каталоге, где существует указанный выше файл, и запустите его с помощью команды

Python-сервер.py

Теперь ваш сервер должен быть запущен!

Вот как выглядит ваш cmd! Вы получите свой собственный URL в том месте, где я отметил красной стрелкой. Используйте этот URL в следующих разделах

3. Подключите Android-приложение к серверу

Добавьте следующую строку в файл AndroidManifest.xml для доступа к Интернету.

В теге «приложение» в файле манифеста поместите следующую строку

Добавьте следующую зависимость в раздел зависимостей{} в app/build.gradle.

Теперь давайте сделаем наш интерфейс функциональным! Для этого вставьте следующий код в файл MainActivity.java. Обязательно вставьте URL, который вы получили здесь в качестве значения переменной в строке 29 кода ниже.

** Обязательно включите подключение к Интернету для устройств, на которых работает сервер Flask, и мобильного телефона, на котором работает приложение Android.

Все готово!!! Да Свершилось! Нажав на кнопки «Отправить запрос на получение» и «Отправить запрос на публикацию», вы будете отправлять запросы на сервер и получать соответствующие ответы. Внимательно просмотрите кодовую базу, читая комментарии. Это просто!!!

Здесь вы можете увидеть демо. Посмотрите, ваше Android-приложение может отправлять данные на внутренний сервер и получать данные с него!

Вы можете найти исходный код на GitHub: https://github.com/RusJaI/Android-Flask

До встречи и здоровья!!!!