天气预报webserviceweb service实现天气预报的详细步骤

天气预报webservice  时间:2021-06-03  阅读:()

webservice

简单说, WebService就是一些站点开放一些服务出来, 也可以是你自己开发的Service, 也就是一些方法, 通过URL,指定某一个方法名,发出请求,站点里的这个服务(方法),接到你的请求,根据传过来的参数,做一些处理, 然后把处理后的结果以XML形式返回来给你,你的程序就解析这些XML数据,然后显示出来或做其它操作. 举个例子: 很多大的站点提供有天气预报的WebService,只要你发出请求过来,它就返回天气预报的数据,然后你把结果显示在自己的程序上.

什么是webservice 能否举个通俗易懂的例子啊

表面上看,Web service 就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。

这就是说,你能够通过Web来调用这个应用程序。

WebService的定义是什么?

你想了解什么?Web Service是一种基于SOAP协议的技术,中文名称是“Web服务”,您可以使用Web Service创建自定义的方法,Web Service现如今被广泛应用,如:您需要去调用某个网站的天气预报,如果对方的网站支持Web Service,您就可以自己用编程的方式去调用它的方法,从而获得天气信息,Web Service的优点是可以实现跨平台调用,也就是说您使用Java创建的Web Service可以在.Net里面创建方法直接调用,非常方便,著名的有亚马逊的EC2平台,您可以利用该网站的Web Service调用该网站的所有的产品信息,从而达到信息分享!而且Web Service是以XML方式传送数据的,所以传输速度非常快速!如果您想了解更多请继续提问!互相交流学习!

android怎么访问天气webservice,用网上找的链接都不行

WebService是一种基于SOAP协议的远程调用标准,通过webservice可以将不同操作系统平台、不同语言、不同技术整合到一块。

在Android SDK中并没有提供调用WebService的库,因此,需要使用第三方的SDK来调用WebService。

PC版本的WEbservice客户端库非常丰富,例如Axis2,CXF等,但这些开发包对于Android系统过于庞大,也未必很容易移植到Android系统中。

因此,这些开发包并不是在我们的考虑范围内。

适合手机的WebService客户端的SDK有一些,比较常用的有Ksoap2,可以从/p/ksoap2-android/downloads/list进行下载;将下载的ksoap2-android-assembly-2.4-jar-with-dependencies.jar包复制到Eclipse工程的lib目录中,当然也可以放在其他的目录里。

同时在Eclipse工程中引用这个jar包。

具体调用调用webservice的方法为: (1) 指定webservice的命名空间和调用的方法名,如: SoapObject request =new SoapObject(http://service,”getName”); SoapObject类的第一个参数表示WebService的命名空间,可以从WSDL文档中找到WebService的命名空间。

第二个参数表示要调用的WebService方法名。

(2) 设置调用方法的参数值,如果没有参数,可以省略,设置方法的参数值的代码如下: Request.addProperty(“param1”,”value”); Request.addProperty(“param2”,”value”); 要注意的是,addProperty方法的第1个参数虽然表示调用方法的参数名,但该参数值并不一定与服务端的WebService类中的方法参数名一致,只要设置参数的顺序一致即可。

(3) 生成调用Webservice方法的SOAP请求信息。

该信息由SoapSerializationEnvelope对象描述,代码为: SoapSerializationEnvelope envelope=new SoapSerializationEnvelope(SoapEnvelope.VER11); Envelope.bodyOut = request; 创建SoapSerializationEnvelope对象时需要通过SoapSerializationEnvelope类的构造方法设置SOAP协议的版本号。

该版本号需要根据服务端WebService的版本号设置。

在创建SoapSerializationEnvelope对象后,不要忘了设置SOAPSoapSerializationEnvelope类的bodyOut属性,该属性的值就是在第一步创建的SoapObject对象。

(4) 创建HttpTransportsSE对象。

通过HttpTransportsSE类的构造方法可以指定WebService的WSDL文档的URL: HttpTransportSE ht=new HttpTransportSE(“http://192.168.18.17:80 /axis2/service/SearchNewsService?wsdl”); (5)使用call方法调用WebService方法,代码: ht.call(null,envelope); Call方法的第一个参数一般为null,第2个参数就是在第3步创建的SoapSerializationEnvelope对象。

(6)使用getResponse方法获得WebService方法的返回结果,代码: SoapObject soapObject =( SoapObject) envelope.getResponse(); 以下为简单的实现一个天气查看功能的例子: lass WebService extends Activity { privatestaticfinal String NAMESPACE ="/"; // WebService地址 privatestatic String URL ="/ webservices/weatherwebservice.asmx"; privatestaticfinal String METHOD_NAME ="getWeatherbyCityName"; privatestatic String SOAP_ACTION ="/ getWeatherbyCityName"; private String weatherToday; private Button okButton; private SoapObject detail; @Override publicvoid onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); okButton = (Button) findViewById(R.id.ok); okButton.setOnClickListener(new Button.OnClickListener() { publicvoid onClick(View v) { showWeather(); } }); } privatevoid showWeather() { String city ="武汉"; getWeather(city); } @SuppressWarnings("deprecation") publicvoid getWeather(String cityName) { try { System.out.println("rpc------"); SoapObject rpc =new SoapObject(NAMESPACE, METHOD_NAME); System.out.println("rpc"+ rpc); System.out.println("cityName is "+ cityName); 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); SoapObject result = (SoapObject) envelope.bodyIn; detail = (SoapObject) result .getProperty("getWeatherbyCityNameResult"); System.out.println("result"+ result); System.out.println("detail"+ detail); Toast.makeText(WebService.this, detail.toString(), Toast.LENGTH_LONG).show(); parseWeather(detail); return; } catch (Exception e) { e.printStackTrace(); } } privatevoid parseWeather(SoapObject detail) throws UnsupportedEncodingException { String date = detail.getProperty(6).toString(); weatherToday ="今天:"+ date.split("")[0]; weatherToday = weatherToday +" 天气:"+ date.split("")[1]; weatherToday = weatherToday +" 气温:" + detail.getProperty(5).toString(); weatherToday = weatherToday +" 风力:" + detail.getProperty(7).toString() +" "; System.out.println("weatherToday is "+ weatherToday); Toast.makeText(WebService.this, weatherToday, Toast.LENGTH_LONG).show(); } }

web service实现天气预报的详细步骤

<iframe allowtransparency="true" id="weather" scrolling="no" frameborder="0" marginwidth="1" marginheight="1" height="250" width="700" src="/tb.q"> </iframe> soso的

提速啦香港独立物理服务器E3 16G 20M 5IP 299元

提速啦(www.tisula.com)是赣州王成璟网络科技有限公司旗下云服务器品牌,目前拥有在籍员工40人左右,社保在籍员工30人+,是正规的国内拥有IDC ICP ISP CDN 云牌照资质商家,2018-2021年连续4年获得CTG机房顶级金牌代理商荣誉 2021年赣州市于都县创业大赛三等奖,2020年于都电子商务示范企业,2021年于都县电子商务融合推广大使。资源优势介绍:Ceranetwo...

CheapWindowsVPS:7个机房可选全场5折,1Gbps不限流量每月4.5美元

CheapWindowsVPS是一家成立于2007年的老牌国外主机商,顾名思义,一个提供便宜的Windows系统VPS主机(同样也支持安装Linux系列的哈)的商家,可选数据中心包括美国洛杉矶、达拉斯、芝加哥、纽约、英国伦敦、法国、新加坡等等,目前商家针对VPS主机推出5折优惠码,优惠后最低4GB内存套餐月付仅4.5美元。下面列出几款VPS主机配置信息。CPU:2cores内存:4GB硬盘:60G...

ucloud香港服务器优惠活动:香港2核4G云服务器低至358元/年,968元/3年

ucloud香港服务器优惠降价活动开始了!此前,ucloud官方全球云大促活动的香港云服务器一度上涨至2核4G配置752元/年,2031元/3年。让很多想购买ucloud香港云服务器的新用户望而却步!不过,目前,ucloud官方下调了香港服务器价格,此前2核4G香港云服务器752元/年,现在降至358元/年,968元/3年,价格降了快一半了!UCloud活动路子和阿里云、腾讯云不同,活动一步到位,...

天气预报webservice为你推荐
宝应中学宝应初级中学有哪些视频压缩算法1分钟视频的大小在10M左右的格式有哪些?企业资源管理系统企业内部管理系统有哪些qq博客怎么开QQ博客啊jstz举手望,草上马跑,打什么数字?遗传算法实例如何用C语言实现遗传算法的实际应用?文本框透明word文本框的背景图片怎样调透明度文本框透明word里文本框怎么透明?网络备份网络系统备份的主要目的以及网络系统备份体系主要包括哪几方面?点心os点心 OS 用户界面(UI)的设计理念是什么?
贝锐花生壳域名 骨干网 187邮箱 linode日本 hostmonster mach5 私人服务器 174.127.195.202 搜狗12306抢票助手 国外php空间 空间服务商 丹弗 gg广告 我爱水煮鱼 699美元 静态空间 共享主机 in域名 360云服务 腾讯总部在哪 更多