安卓调用Webservice服务
最近因为老师让写一个关于webservice的小项目,无论调用什么服务都可以。我就随意找了个将摄氏度转换成华氏度的服务来写。
我刚开始也不知道webservice是什么,但是网上有很多资料,于是我也就开始了学习,以下是我自己比较通俗的理解。
首先,我们要理解什么是webservice以及用到了哪些知识:
Webservice并不是安卓独有的服务,在很多平台都会用到这个服务。在android中,webservice被用来在application之间传递、交换、获取信息,webservice是基于http协议的,通过network调用远程服务器上面的方法得到想要的数据或信息。通过Webservice要实现通信和数据交流必须通过信息协议,soap就是其中一种。
接下来我们实现一个简单调用Webservice的例子:
一、首先要下载ksoap库以支持所需服务, http://code.google.com/p/ksoap2-android/进入此网址后进入downloads页面,找到latest release……点击后面jar包的链接,进入之后一定要view raw file右键链接另存为jar包,其他方式下载可能会导致下载的jar包不正确而无法引入到程序当中。我就是直接点的downloads页面的链接另存为jar包之后,导入项目出现了红色感叹号,一直找不到原因,也没出现任何的错误信息,这是个坑,最后在网上搜索各种jar包的导入方法无意间看到了不一样的下载方法,结果试了下成功了。
二、然后我们打开Eclipse创建新的Android工程,点击Eclipse菜单栏的File-〉New-〉Android Application project。如果没有Android ApplicationProject选项就进入Other,选择Android文件夹中的Android Application Project选项,然后Ok。
接下来会看到下列界面,选择Android程序的版本以及填写名称:目前最高版本是21,我们选择API19版本就可以。特别说明:在Android4.0之后不可以在主UI线程中直接引用webservice服务,会导致NullPointer错误。我还没遇到其他错误,所以目前只知道这个。
然后一路点击next直到finish,此时一个新的没有ksoap库的Android程序已经建立完毕。
接下来,我们将下载好的ksoap库jar包放进工程的libs文件夹中。如果工程本身没有libs文件夹就新建一个(或者可以右击工程进入-〉Build Path-〉ConfigureBuild Path中的Libraries中添加jar包)。添加完ksoap库之后我们就可以使用它为我们提供的webservice的服务了。
三、新写一个Android的布局文件,在工程文件中找到res-〉layout-〉activity_main.xml,双击打开此布局文件,这个布局文件就是用来显示Android工程的界面。在这个布局文件中修改代码达到我们想要的效果。这个调用webservice的服务相信很多人都写过,因为非常简单,类似手机号码归属地查询等属于最基础的服务。
布局文件代码: <Relati |