У меня есть простое клиентское приложение Java (приложение для Android). Я должен написать приложение-сервер PHP, которое получает запрос от клиентского приложения Java для записи некоторых данных в базу данных MySQL или чтения некоторых данных из базы данных MySQL. Он должен отвечать сообщением о состоянии (Ошибка записи / успех) или запрошенные данные соответственно.
Как я могу заставить Java-клиента отправить запрос и получить ответ от PHP-программы и как программа PHP получит запрос и отправит ответ? Я поработал над архитектурой SOAP и REST, но искал простой учебник, который позволит мне реализовать эту простую программу.
Благодарю.
С помощью базового 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- модуль для анализа результата.