2013-07-18 195 views
1

我是新的android開發,我正在開發一個應用程序,可以從Web服務獲取數據。例如,我在我的android應用程序中創建了一個登錄名,並且要輸入它們的數據來自web服務。我該怎麼做,使用JSON或SOAP最簡單的方法是什麼?請提供一些示例,以便我將瞭解如何執行此操作。如何從android中的web服務獲取數據?

+0

您好,HTTP://www.androidhive.info/2012/01/android-json-parsing-tutorial/ –

+0

**檢查該協議棧的問題,它可以幫助你** [鏈接] [1] [1]:http://stackoverflow.com/questions/17714578/android-connectivity-with-remote-databasems-sql/17714679#17714679 –

回答

1

下面是一個使用類似的一個很好的例子,即時通訊: enter link description here

private final String NAMESPACE = "http://tempuri.org/"; 
private final String URL = "http://www.w3schools.com/webservices/tempconvert.asmx"; 
private final String SOAP_ACTION = "http://tempuri.org/CelsiusToFahrenheit"; 
private final String METHOD_NAME = "CelsiusToFahrenheit"; 

public void getFahrenheit(String celsius) { 
//Create request 
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); 
//Property which holds input parameters 
PropertyInfo celsiusPI = new PropertyInfo(); 
//Set Name 
celsiusPI.setName("Celsius"); 
//Set Value 
celsiusPI.setValue(celsius); 
//Set dataType 
celsiusPI.setType(double.class); 
//Add the property to request object 
request.addProperty(celsiusPI); 
//Create envelope 
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
     SoapEnvelope.VER11); 
envelope.dotNet = true; 
//Set output SOAP object 
envelope.setOutputSoapObject(request); 
//Create HTTP call object 
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL); 

try { 
    //Invole web service 
    androidHttpTransport.call(SOAP_ACTION, envelope); 
    //Get the response 
    SoapPrimitive response = (SoapPrimitive) envelope.getResponse(); 
    //Assign it to fahren static variable 
    fahren = response.toString(); 

} catch (Exception e) { 
    e.printStackTrace(); 
} 

}

0

Json是最簡單和乾淨的通信協議。我建議使用庫來獲取數據https://github.com/kodart/Httpzoid

有一些使用示例。

+0

源代碼不工作你有其他我可以使用的源代碼嗎? – NewDroidDev

+0

你得到了什麼錯誤?你是怎麼使用它的? – Arthur

+0

如果用戶需要從服務器獲取更多數據,該怎麼辦? 那麼該如何處理。 –