Android天气预报(2)

前面已经讲过了基于JSON数据解析的天气预报的开发,这次我们主要涉及的是基于WebService的天气预报。
学习WebService需要具备以下知识。
1.SOAP(Simple Object Access Protocol)
[简单对象访问协议](http://zh.wikipedia.org/zh-cn/SOAP)
2.WSDL(Web Service Discription language)
[WebService描述语言](http://zh.wikipedia.org/zh-cn/WSDL)
3.UDDI(Universal Description ,Description and Integration)
[统一描述,发现和整合协议](https://zh.wikipedia.org/zh-cn/UDDI)
这里涉及到的是对SOAP操作
首先看我们的wsdl源:http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl


如果需要对WSDL想了解的话。请猛点
1.http://www.w3school.com.cn/wsdl/index.asp
2.http://www.360doc.com/content/08/1113/23/56145_1920514.shtml


首先我们通过这里的wsdl的信息得知有如下方法
1.getRegionCountry
获得国外国家名称和与之对应的ID
输入参数:无,返回数据:一维字符串数组。、
2.getRegionDataset
获得中国省份、直辖市、地区;国家名称(国外)和与之对应的ID
输入参数:无,返回数据:DataSet。
3.**getRegionProvince
获得中国省份、直辖市、地区和与之对应的ID
输入参数:无,返回数据:一维字符串数组。
4.getSupportCityDataset
获得支持的城市/地区名称和与之对应的ID
输入参数:theRegionCode = 省市、国家ID或名称,返回数据:DataSet。
5.**getSupportCityString
获得支持的城市/地区名称和与之对应的ID
输入参数:theRegionCode = 省市、国家ID或名称,返回数据:一维字符串数组。
6.**getWeather
获得天气预报数据
输入参数:城市/地区ID或名称,返回数据:一维字符串数组。
这里只是用到了加黑的方法。方法如下
1.到code.google.com/p/ksoap2-android/下载jar文件(ksoap-android-assembly.jar)这里可以从附件中获得。
2.将jar添加到项目中。加入Build Path
3.如何使用ksoap-android
        1.创建HttpTransportSE对象,调用WebService
        2.创建SoapSerializationEnvelope对象
        3.SoapObject对象创建,传图方法和命名空间
        4.为SoapObject设置属性值
        5.设置SoapObject为SoapSerializationEnvelope的传出消息
        6.调用call()
        7.利用SoapSerializationEnvelope读出对象,获得属性值。

猜你喜欢

转载自weishuai90.iteye.com/blog/1837656