Как реализовать связь между клиентским приложением Java (Android) и приложением PHP-сервера?

У меня есть простое клиентское приложение Java (приложение для Android). Я должен написать приложение-сервер PHP, которое получает запрос от клиентского приложения Java для записи некоторых данных в базу данных MySQL или чтения некоторых данных из базы данных MySQL. Он должен отвечать сообщением о состоянии (Ошибка записи / успех) или запрошенные данные соответственно.

Как я могу заставить Java-клиента отправить запрос и получить ответ от PHP-программы и как программа PHP получит запрос и отправит ответ? Я поработал над архитектурой SOAP и REST, но искал простой учебник, который позволит мне реализовать эту простую программу.

Благодарю.

Solutions Collecting From Web of "Как реализовать связь между клиентским приложением Java (Android) и приложением PHP-сервера?"

С помощью базового Java SE API вы можете использовать java.net.URLConnection для java.net.URLConnection HTTP-запроса. Основной пример GET запроса GET можно найти в учебнике Sun по этому вопросу . Запрос POST не сильно отличается, вместо этого вам нужно просто установить URLConnection#setDoOutput() в true и написать строку запроса в URLConnection#getOutputStream() вместо URL.

Обратите внимание, что он «лениво выполняется», запрос будет запущен только в том случае, если вы действительно получите поток ответов по URLConnection#getInputStream() , даже если он вам не нужен.

Если вам нужен менее подробный код и / или больший контроль над запросом, я могу рекомендовать использовать клиент Apache Commons HttpComponents .

PHP-программу, в свою очередь, можно просто написать обычным способом. Получите параметры запроса с помощью $_GET , $_POST и т. Д. И $_POST echo -ответ. Здесь ничего особенного не нужно. Однако вы можете использовать более простой формат синтаксического анализа, например XML или JSON.

Вы должны создать простой веб-сервис REST на основе JSON или XML с PHP.

Затем с Android SDK вы можете использовать модуль HttpClient для подключения к вашему веб-сервису. SDK также предоставляет JSON и XML- модуль для анализа результата.