Android 天气预报

    在写这个小程序之前,我对webservice可谓是一无所知。在查了一系列的资料,经过多日的阅读之后,终于有了一点小理解。所以,在这里就简要的说一下。

    W3C组织对Web Service的官方定义是:Web Service 是一个软件系统,用以支持网络间不同机器的互动操作。网络服务通常是许多应用程序的接口所组成的,它们通过网络,例如国际互联网的远程服务器端,执行客户所提交服务的请求。

    其实,Web Service就是一个函数的远程调用。比如我有一个Web Service,它实现的就是一个求和的函数,当用户请求我的Web Service时,通过网络给我两个数1314,我调用了这个函数计算了一下,得出结果27,之后再通过网络返回给用户,这就是一个简单的Web Service的模型。

    首先,要做的是下载一个KSOAP,在android sdk中没有提供调用webservice的库,所以要用第三方提供的sdk的来调用webservice。(好吧,这都是网上的说法,我就这么照着做了)

    在这个程序中用到了SoapObject类,但貌似没有看见详细解释这个类的文章,所以只能照着网上的例子中的用法来实现我的android天气预报。

1.SoapObject rpc = new SoapObject(NAMESPACE, METHOD_NAME);它传进去的第一个参数是所谓的命名空间,我的理解就是把我们要调用的给我们提供天气信息的网站给传进去,它就知道该从哪得到相关的天气信息。第二个参数就是方法名,我用的是getWeatherbyCityName,通过城市名来获取天气信息。

2.用addProperty方法来把城市名称传入(据说可以不和服务器端的参数名一致)。

3.创建SoapSerializationEnvelope对象

4.创建HttpTransportsSE对象

5、使用call方法调用WebService方法

6、获得WebService方法的返回结果,其中有两种方法可以获得返回的结果,一是调用getResponse方法,二是调用getProperty方法。经过我的实践,两种方法都可以实现这一目的,在我的程序中两者都有用到。

    在做完了这些工作之后,还需要在AndroidManifest.xml 文件,赋予相应权限,不然就会没有相应的权限来执行这个。

说实话,在经过这一系列的操作之后,也就是说我还知道一步一步该怎么做的流程,却没有很详细地理解,每一步究竟为何要这么做。感觉就是按照那些步骤一步一步做下来似乎是很容易,但是,要真正开发出一个健壮的webservice,还要学习很多的技术,而且这些技术也还在不断地发展中。所以说,学习还是一个任重而道远的过程,还有很长的一段路要走!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值