2011-12-23 124 views
0

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

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

+0

不确定这里的问题到底是什么。您必须以某种方式序列化您的响应 - xml或json - 并将其发送回您的客户端。在那里你必须反序列化它才能访问信息。为了处理xml或json,有很多库可用 – AxelTheGerman 2011-12-23 07:37:23

+0

@axel发送响应json或xml以及在android中访问的任何链接。谢谢。 – Mukunda 2011-12-23 12:35:39

回答

1

在服务器端,您需要创建一个名为resulatanClass的类&使您将要返回的所有数据元。现在在你的回复中返回这个类。或者,您可以在android应用程序端以XML格式&发送它们,然后在接收它时解析它。

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 
} 
0

我建议你建立一个JSON字符串,其中包含的所有信息,并做从Android一个HTTP POST请求并找回结果。

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

1

我会用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 User Guide

-axel

相关问题