我的代码向服务器发送纬度经度作为servlet的参数。 在服务器中,它计算到分支的最近距离,并且应该发回整个城市名称,地址,分支的纬度和经度等信息。我在服务器的数据库中拥有所有这些信息,并且我也在距离上获得有序列表。从服务器发送响应android
但是,如何发送这个列表作为从服务器到设备的响应,以及如何从android响应中收集这些数据。任何关于代码示例的帮助都会有所帮助。谢谢。
我的代码向服务器发送纬度经度作为servlet的参数。 在服务器中,它计算到分支的最近距离,并且应该发回整个城市名称,地址,分支的纬度和经度等信息。我在服务器的数据库中拥有所有这些信息,并且我也在距离上获得有序列表。从服务器发送响应android
但是,如何发送这个列表作为从服务器到设备的响应,以及如何从android响应中收集这些数据。任何关于代码示例的帮助都会有所帮助。谢谢。
在服务器端,您需要创建一个名为resulatanClass的类&使您将要返回的所有数据元。现在在你的回复中返回这个类。或者,您可以在android应用程序端以XML格式&发送它们,然后在接收它时解析它。
您应该尝试为此创建一个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
}
我建议你建立一个JSON字符串,其中包含的所有信息,并做从Android一个HTTP POST请求并找回结果。
使用从服务器检索到的数据解析JSON并在视图中使用所需的数据。
我会用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
不确定这里的问题到底是什么。您必须以某种方式序列化您的响应 - xml或json - 并将其发送回您的客户端。在那里你必须反序列化它才能访问信息。为了处理xml或json,有很多库可用 – AxelTheGerman 2011-12-23 07:37:23
@axel发送响应json或xml以及在android中访问的任何链接。谢谢。 – Mukunda 2011-12-23 12:35:39