我的代碼向服務器發送緯度經度作爲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