我的代码将纬度经度发送到服务器作为servlet的参数。 在服务器中,它计算到分支的最近距离,并应发送回城市名称,地址,纬度和经度等信息的完整数据。我在服务器的数据库中拥有所有这些信息,并且我也在远程获得有序列表。
但是如何将此列表作为服务器响应发送到设备,如何从android中的响应中收集此数据。任何有关代码示例的帮助都会有所帮助。感谢。
答案 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并使用视图中所需的数据。