Отправка ответа с сервера андроид - PullRequest
0 голосов
/ 23 декабря 2011

мой код отправляет широту долготу на сервер в качестве параметров сервлету.На сервере он рассчитывает ближайшее расстояние к филиалу и должен отправить обратно целые данные, такие как название города, адрес, широта и долгота филиалов.У меня есть вся эта информация в базе данных на сервере, и я также получаю упорядоченный список на расстоянии.

Но как отправить этот список как ответ от сервера на устройство и как мне собрать эти данные из ответав андроид.Любая помощь с примером кода будет полезна.спасибо.

Ответы [ 4 ]

1 голос
/ 23 декабря 2011

Я бы использовал для этого google-gson .

Если вы просто хотите отправить простой объект, вы можете сделать следующее:

1: создать объекткоторый содержит данные, которые вы хотите передать

class MyDataObject {
  private String cityname, address;
  private double longitude, latitude;

  MyDataObject() {
    // no-args constructor
  }
}

2: создайте строку ответа JSON, которую вы отправите обратно в своем HTTP-ответе

MyDataObject data = new MyDataObject();
// set values
Gson gson = new Gson();
String responseData = gson.toJson(data);
// put this string in your response

3: прочитайте ответ на своем клиенте Android

String responseData;
// read response string

Gson gson = new Gson();
MyDataObject data = gson.fromJson(responseData,MyDataObject.class);
// access the data stored in your object

Вы также можете отправлять массивы или другие более сложные объекты, используя JSON.Если вы хотите использовать google-gson для этого, взгляните на Руководство пользователя GSON

-axel

1 голос
/ 23 декабря 2011

Вы должны попытаться создать веб-сервис для этого.Веб-сервис похож на публичную функцию, которую вы можете вызывать через сеть.Ответ веб-службы может быть в форме XML.Android-устройство должно подключиться к веб-службе и дождаться ее ответа, а затем соответствующим образом проанализировать ответ.

Веб-служба имеет собственную ссылку, так что это похоже на подключение к URL-адресу и ожидание его ответа.

Пример вызова веб-службы:

httpURLConnection = (HttpURLConnection) ((new URL("http://webServiceURL/webServiceMethod")).openConnection()); //connect to the url of the web service
console = new BufferedReader(new InputStreamReader(httpURLConnection.getInputStream())); //get the response of the web service

Пример метода веб-службы:

public String webServiceMethod(String argumento)
{
    String response;
    //set response value here depending on the value of the parameter
    return response; //yes, returning a response in web service is as straightforward as this
}
1 голос
/ 23 декабря 2011

на стороне сервера вам нужно создать класс с именем resulatanClass и сделать весь набор данных, который вы собираетесь вернуть. Теперь верните этот класс в вашем ответе. Или альтернативный способ - вы можете отправить их в формате XML, а на стороне приложения для Android вам необходимо выполнить синтаксический анализ при получении.

0 голосов
/ 23 декабря 2011

Я предлагаю вам создать строку JSON, которая будет содержать всю информацию, выполнить HTTP-запрос POST от Android и получить результаты.

Используя данные, полученные с сервера, проанализируйте JSON и используйтеданные, которые вам нужны в представлениях.

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