从服务器android发送响应

时间:2011-12-23 07:29:16

标签: android android-emulator

我的代码将纬度经度发送到服务器作为servlet的参数。 在服务器中,它计算到分支的最近距离,并应发送回城市名称,地址,纬度和经度等信息的完整数据。我在服务器的数据库中拥有所有这些信息,并且我也在远程获得有序列表。

但是如何将此列表作为服务器响应发送到设备,如何从android中的响应中收集此数据。任何有关代码示例的帮助都会有所帮助。感谢。

4 个答案:

答案 0 :(得分:1)

在服务器端,您需要创建一个名为resulatanClass&的类。制作您要返回的所有数据库。现在在您的回复中返回此类。或者另一种方式是你可以用XML格式发送它们。在Android应用程序端,您需要在接收时解析它。

答案 1 :(得分:1)

您应该尝试为此创建一个Web服务。 Web服务就像一个可以通过网络调用的公共功能。 Web服务的响应可以是XML格式。 Android设备必须连接到Web服务并等待其响应,然后相应地解析响应。

Web服务有自己的链接,所以就像连接到URL并等待其响应一样。

示例Web服务调用:

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

示例Web服务方法:

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
}

答案 2 :(得分:1)

我会使用google-gson

如果您只想发送一个简单的对象,可以执行以下操作:

1:创建一个包含您要传输的数据的对象

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

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

2:创建您在HTTP响应中发回的JSON响应字符串

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 User Guide

-axel

答案 3 :(得分:0)

我建议您构建一个包含所有信息的JSON字符串,并从android执行HTTP POST请求并获取结果。

使用从服务器检索的数据解析JSON并使用视图中所需的数据。