时光清风 - [AS006] Android 天气预报(调用webservice)

[AS006] Android 天气预报(调用webservice)

极速小旋风2年前问道1571

先看效果:

002.jpg


原理:获取支持的省份->获取支持的城市->按城市编号调用webservice->返回23个string拼接展示


部分代码片段:

public static List<String> getCityListByProvince(String province) {
    String methodName = "getSupportCity";
    HttpTransportSE ht = new HttpTransportSE(SERVICE_URL);
    ht.debug = true;
    SoapObject soapObject = new SoapObject(SERVICE_NS, methodName);
    soapObject.addProperty("byProvinceName", province);
    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
            SoapEnvelope.VER11);
    envelope.bodyOut = soapObject;
    envelope.dotNet = true;
    try {
        ht.call(SERVICE_NS + methodName, envelope);
        if (envelope.getResponse() != null) {
            SoapObject result = (SoapObject) envelope.bodyIn;
            SoapObject detail = (SoapObject) result.getProperty(methodName
                    + "Result");
            return parseProvinceOrCity(detail);
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}

private static List<String> parseProvinceOrCity(SoapObject detail) {
    ArrayList<String> result = new ArrayList<String>();
    for (int i = 0; i < detail.getPropertyCount(); i++) {
        result.add(detail.getProperty(i).toString().split(",")[0]);
    }
    return result;
}


webservice地址:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx 

003.png

返回结构:

004.png

注:同一IP地址24小时内限制调用次数,大概是50次。(可以切换网络继续使用)


相关文章

BTP-001 SAC

BTP-001 SAC

SAC analytic主要基于故事和模型,先后顺序是dataset-model-story-predictionstory提供了丰富的元素(即时可视)和模板所有类型的产出都以文件方式存在story可...

AI-002 试用百度AI-车牌识别、人脸对比

AI-002 试用百度AI-车牌识别、人脸对比

车牌识别与上一篇文字识别类似,host参数不同注意:其中Encoding应改为UTF8,以识别中文字符效果:人脸对比也需要开通应用,但人脸识别相关的API可以无限免费调用效果:得分80以上可以认为是同...

万物互联IoT-001 MQTT基本示例

万物互联IoT-001 MQTT基本示例

MQTT(Message Queuing Telemetry Transport Protocol)的全称是消息队列遥感传输协议的缩写,是一种基于轻量级代理的发布/订阅模式的消息传输协议,运行在TCP...

我做了一个ChatGPT聊天机器人应用

首先说明,需要翻墙API说明参考:https://api.openai.com/v1/completions实现过程参考(Kotlin):https://www.geeksforgeeks.org/h...

万物互联IoT-002 SDK实现订阅、发布

万物互联IoT-002 SDK实现订阅、发布

假设已经将智能设备接入了云平台(参考上一篇),如何通过SDK订阅、发布消息?只需要引用MQTT Client Library for M2M communication,然后using uPLibra...

AL-04 用RPA做一个爬虫

AL-04 用RPA做一个爬虫

阿里云RPA产品是一款新型工作流程自动化办公机器人软件,通过模拟人工操作进行自动流程执行处理。它可以将办公人员从每日的重复工作中解放出来,提高生产效率但是它不仅限于工作流程:非常有用的是捕获控件,类似...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。