Как реализовать связь между клиентским приложением Java (Android) и серверным приложением PHP? - PullRequest
6 голосов
/ 14 февраля 2010

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

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

Спасибо.

Ответы [ 2 ]

6 голосов
/ 14 февраля 2010

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

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

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

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

1 голос
/ 14 февраля 2010

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...