http://blog.csdn.net/luran_fighting/article/details/8247278
实现效果:
首先创建布局文件,显示出需要查找的天气情况,可以查出今天明天或者后天的天气情况。将需要的信息显示出来,想要显示查找的城市图片,要把所有的城市照片以城市代号命名的图片都要存储到项目中,数据量大,所以这里只是显示出天气的图片,共有三十二张,可以网上下载,记住顺序一定不要弄错。
布局文件main.xml
2.然后编写activity代码,因为要用到Soap协议,所以首先要到网站下载soap的jar包,这里用到的是ksoap2-android-assembly-2.5.2-jar-with-dependencies.jar,因为比较高的版本,将jar包粘贴到项目libs文件下,环境会自动匹配将jar包加载,会在项目下的dependencies下找到soap包,则添加成功。
3.注意要用到网上资源解析xml,则在AndroidManifest.xml中设置用户权限
4.编写通过soap协议发送天气预报请求使用web服务得到并返回结果的工具类。
获得天气状况
(1)getResponse()方法查天气预报得到的是一系列的值,不是单一值,所以返回结果用SoapObject接收,调用它的getProperty()得到需要的信息,以下是getWeatherbyCityNameResult的23个属性:
(2)获取数组这些属性值也可用另一种方法:
SoapObject result = (SoapObject) envelope.bodyIn;
SoapObject detail = (SoapObject) result.getProperty("getWeatherbyCityNameResult");
代码:
5.项目main类的关键代码:
web服务端天气预报url:"http://www.webxml.com.cn/webservices/weatherwebservice.asmx";
总结一下:
在做项目时总在main中出现空指针异常,在设置天气图片资源的时候提示错误,后来经过分析测试,程序能够查到结果,并正确输出,我又看了遍程序原来没有查找图片视图组件,真是出了很低级的错误,下次定要认真,开始时就要看全代码,感觉自己写了其实还是没写,要确认一下才行,这样编程序才更有效率,错误少,完成时间短,才是一个成功的程序师。
呵呵……无论编写什么程序都会提高自己找错、纠错、少错的能力,提高编程能力,加油!!!