`
anson_xu
  • 浏览: 514729 次
  • 性别: Icon_minigender_1
  • 来自: 惠州
社区版块
存档分类

Android利用ksoap2写天气预报应用

阅读更多
Android利用ksoap2写天气预报应用
2010-06-01 18:06

  怎么说呢,天气预报的应用可以说是一抓一大把,不过找一个自己心仪的却并不是很容易。这个程序也是用来练手的,看看到底怎么用ksoap写一个适合自己的应用。ksoap怎么说呢,就是一个封装好的soap发送接收解析库,这也只怪Android没有自带这些。

  闲话不多说,上代码(本来是全部贴出来的,后来发现博客毕竟是用来写重点的,更多内容还是访问下面那个给出的源码地址吧):

    
private static final String NAMESPACE = "http://WebXml.com.cn/";    
    private static String URL = "http://www.webxml.com.cn/webservices/weatherwebservice.asmx";
    private static final String METHOD_NAME = "getWeatherbyCityName";
    private static String SOAP_ACTION = "http://WebXml.com.cn/getWeatherbyCityName";

    public void getWeather(String cityName) {
        try {
            SoapObject rpc = new SoapObject(NAMESPACE, METHOD_NAME);
            rpc.addProperty("theCityName", cityName);

            AndroidHttpTransport ht = new AndroidHttpTransport(URL);
            ht.debug = true;

            SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
                    SoapEnvelope.VER11);
            
            envelope.bodyOut = rpc;
            envelope.dotNet = true;
            envelope.setOutputSoapObject(rpc);

            ht.call(SOAP_ACTION, envelope);
            
            debug(LOG_TAG, "DUMP>> " + ht.requestDump);
            debug(LOG_TAG, "DUMP<< " + ht.responseDump);

            SoapObject result = (SoapObject) envelope.bodyIn;
            SoapObject detail = (SoapObject) result.getProperty("getWeatherbyCityNameResult");
            
            parseWeather(detail);
            return;
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    
    private void parseWeather(SoapObject detail) {
        String date = detail.getProperty(6).toString();
        weatherToday = "今天:" + date.split(" ")[0];
        weatherToday = weatherToday + "\n天气:" + date.split(" ")[1];
        weatherToday = weatherToday + "\n气温:" + detail.getProperty(5).toString();
        weatherToday = weatherToday + "\n风力:" + detail.getProperty(7).toString() + "\n";
        iconToday[0] = parseIcon(detail.getProperty(8).toString());
        iconToday[1] = parseIcon(detail.getProperty(9).toString());
        
        weatherCurrent = detail.getProperty(10).toString();
        
        date = detail.getProperty(13).toString();
        weatherTomorrow = "明天:" + date.split(" ")[0];
        weatherTomorrow = weatherTomorrow + "\n天气:" + date.split(" ")[1];
        weatherTomorrow = weatherTomorrow + "\n气温:" + detail.getProperty(12).toString();
        weatherTomorrow = weatherTomorrow + "\n风力:" + detail.getProperty(14).toString() + "\n";
        iconTomorrow[0] = parseIcon(detail.getProperty(15).toString());
        iconTomorrow[1] = parseIcon(detail.getProperty(16).toString());
        
        date = detail.getProperty(18).toString();
        weatherAfterday = "后天:" + date.split(" ")[0];
        weatherAfterday = weatherAfterday + "\n天气:" + date.split(" ")[1];
        weatherAfterday = weatherAfterday + "\n气温:" + detail.getProperty(17).toString();
        weatherAfterday = weatherAfterday + "\n风力:" + detail.getProperty(19).toString() + "\n";
        iconAfterday[0] = parseIcon(detail.getProperty(20).toString());
        iconAfterday[1] = parseIcon(detail.getProperty(21).toString());
    }
以下是截图:


  觉得还不够?是的,毕竟博客能写多少呢?给两个地址。当然代码写得非常不够简洁,还请海涵啊。

apk:http://u.115.com/file/f020b51648

源码:http://u.115.com/file/f0c9f83996

原创文章,如需转载请注明【转烛空间】:http://wangliping.net

分享到:
评论

相关推荐

    android 利用ksoap2制作天气预报,绝对原创

    总结起来,利用ksoap2在Android上实现天气预报应用,需要理解SOAP协议、ksoap2库的使用,以及Android的网络权限管理。通过创建一个简单的Activity,调用Web服务,解析响应并显示结果,可以掌握这一核心技能。对于...

    android ksoap 天气预报

    通过以上步骤,你就可以利用kSOAP在Android应用中获取天气预报数据了。不过,随着RESTful API的普及,许多现代Web服务倾向于提供JSON格式的数据,这使得使用Gson或Jackson库进行JSON解析更为常见。然而,对于那些仍...

    Android利用SOAP协议调用天气预报服务.pdf

    Android系统平台是目前智能手机市场中使用最为广泛的开源平台之一,它允许开发者利用多种工具和语言来创建手机应用程序。本文探讨了如何在Android...这些技能对于创建一个可靠、高效的Android天气预报应用至关重要。

    android天气预报之Webservice应用程序

    在这个天气预报应用中,可能需要添加网络访问权限(INTERNET权限),以允许应用通过网络获取天气数据。例如: ```xml &lt;uses-permission android:name="android.permission.INTERNET" /&gt; ``` 4. **项目结构分析**...

    android利用SOAP实现天气预报

    本教程将详细介绍如何在Android应用中利用SOAP来获取并显示天气预报。 一、SOAP基础 SOAP是一种轻量级的消息协议,它的主要特点是基于XML,允许数据以自描述的方式传输。SOAP消息通常包含三个主要部分:Envelope、...

    ksoap2.jar

    - 社交应用中,可以利用ksoap2实现用户登录、消息同步等功能。 总之,ksoap2.jar作为Android开发中的重要工具,使得与SOAP服务的交互变得简单而高效,极大地扩展了Android应用程序的功能边界。了解并熟练使用ksoap...

    Android应用源码WebService+ksoap2天气查询项目.zip

    4. **天气查询项目**:这个项目可能是一个简单的Android应用,用户可以在应用中输入城市名,然后应用会使用kSOAP2库向一个公开的天气预报Web服务发送请求,获取该城市的天气信息。这些信息可能包括温度、湿度、风速...

    ksoap2源代码及jar包

    kSOAP2-j2ME广泛应用于移动开发,比如在Android或J2ME平台上实现功能如位置查询、天气预报、新闻推送等。通过调用Web服务,这些应用能够利用远程服务器的强大功能,而不需要在本地设备上存储大量数据或执行复杂的...

    基于WebService的Android天气预报软件源码

    【基于WebService的Android天气预报软件源码】是一个典型的Android应用程序开发项目,主要目的是展示如何在Android平台上构建一个能够获取并显示天气信息的应用。这个项目利用了WebService技术来从远程服务器获取...

    Android天气预报

    【Android天气预报】是一款基于Android平台的应用程序,它利用了Web Service技术来获取并展示实时的天气信息。这款应用的核心特性在于其集成了百度定位服务,可以自动检测并显示用户当前所在位置的天气状况。此外,...

    第16章天气预报-WebService调用.ppt

    在本章中,我们将探讨如何在Android应用中利用Web Service获取并展示天气预报信息。首先,Web Service是一种允许不同系统间交互的...通过学习这些知识点,开发者可以构建出能够实时更新且用户体验良好的天气预报应用。

    Android调用天气Webservice

    在Android开发中,调用Web Service是常见的数据交互方式,特别是在获取远程服务器上的实时信息,如天气预报时。本文将详细讲解如何在Android应用中利用Webservice获取天气数据,并以"android下访问webservice服务...

    WebService应用案例

    发送请求后,解析返回的XML或JSON数据,将其转换为本地可以处理的对象,最后在应用界面上展示天气预报,包括温度、湿度、风向等信息。 在实际开发中,可能会遇到网络连接问题、数据解析错误等问题,这时需要适当地...

    基于Web Service的3G手机应用开发入门讲座

    - 开发者可以利用各种移动开发框架和库,如Android的Ksoap2或iOS的SOAPClient,轻松集成Web Service,创建功能强大的3G手机应用。 总的来说,Web Service是互联网时代实现系统间协同工作的重要技术,它简化了不同...

Global site tag (gtag.js) - Google Analytics