【问题标题】:How to get data from web service in android?如何从android中的Web服务获取数据?
【发布时间】:2013-07-18 05:48:02
【问题描述】:

我是 android 开发的新手,我正在开发一个可以从 Web 服务获取数据的应用程序。例如,我在我的 android 应用程序上创建了一个登录名,并且将输入它们的数据来自 Web 服务。我该怎么做?使用 JSON 或 SOAP 最简单的方法是什么?请提供一些示例,以便我了解如何执行此操作,谢谢。

【问题讨论】:

标签: android json web-services soap


【解决方案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();
}

}

【讨论】:

    【解决方案2】:

    对于 JSON,请检查此 tutorial。 对于 SOAP 检查this

    【讨论】:

    • Web 服务有哪些适用性? JSON 还是 SOAP?
    • 示例已过时,(使用 httpClient
    【解决方案3】:

    Json 是最简单干净的通信协议。我建议使用库来获取数据https://github.com/kodart/Httpzoid

    有一些使用示例。

    【讨论】:

    • 源代码不工作你有其他的源代码可以使用吗?
    • 如果用户需要从服务器获取更多数据怎么办?那么如何处理呢?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-16
    • 2018-04-24
    相关资源
    最近更新 更多