Android 通过 Ksoap 2链接 WebService 上传图片的功能。doc

粪豆的蜗牛 贡献于2012-11-04

作者 Adlen  创建于2011-04-20 06:47:00   修改者dbc  修改于2012-09-06 01:54:00字数1738

文档摘要:介绍一下编译环境:Tomcat6.0+Myeclipse6.5GA版。为什么选用Myeclipse,是因为他集成了很多工具,如果你愿意尝试,可以使用Eclipse去自定义加载一些工具。这里我们也要用到同样的技术。编写Webservice。我们在Myeclipse当中新建一个WebProject我们在默认的包中新建一个类,名字叫做Upload。这个文件可以包含WSDL当中任意多个方法。所以命名情况我不做多解释,你按照你对应的项目或者工程新建类名即可。
关键词:

Android通过Ksoap2链接WebService上传图片的功能 介绍一下编译环境:Tomcat6.0+Myeclipse6.5GA版。为什么选用Myeclipse,是因为他集成了很多工具,如果你愿意尝试,可以使用Eclipse去自定义加载一些工具。 这里我们也要用到同样的技术。 一、 编写Webservice。 我们在Myeclipse当中新建一个Web Project 我们在默认的包中新建一个类,名字叫做Upload。这个文件可以包含WSDL当中任意多个方法。所以命名情况我不做多解释,你按照你对应的项目或者工程新建类名即可。还有一点要指出的是,由于Java WebService传入参数的特殊性(虽然定义的参数是Java支持的参数,但是通过链接传入的参数的类型都为String),而我要将一个图片写入字节流,再把图片字节流转为String对象的值的时候,用到了Base64编码。同样,Base64用到一个jar包:commons-codec-1.5.jar,加上上篇文章的ksoap2的jar包文件。 新建了完了后,编写代码:如图所示,import那部分自己添加,我就不贴了。 说明一下类中的方法怎么和WebService对应 UpdateImage是客户端上传到服务器的方法;形参image是传入的Base64编码后的String对象;形参name是传入的上传后在服务器上的文件名字。fos输出的地址将会在服务器d盘上存根。 这样我的Web Service接口就定义好了 二、 发布Web Service接口 利用Axis2可以很快的发布接口。 首先在网上下载一个axis2.war文件,下载后,将其保存在Tomcat的WebRoot目录下,然后启动Tomcat,这是在WebRoot目录下会生产一个axis2文件夹,里面的文件夹做什么用,这里我就不多做说明,有兴趣的可以问我,也可以在网上找这方面的资料。 在axis2的WEB-INF目录下,新建一个pojo文件夹 然后将我们编写好的Upload.java所编译后的.class文件复制到pojo文件夹中,重启Tomcat服务器。这样WebService接口就发布了,可以尝试打开: http://ip:port/axis2/services/Upload?wsdl,ip和port请尽量填写WIFI或者公网,因为如果你用手机去模拟上传,你的手机是连接不到内网的(如IP:192.168.0.1之类)。 打开成功可以看到如下内容: 下面那部分就不用关心了,我们所关心的上传方法已经通过接口发布出来了,这里就结束服务器的部分。 三、 编写Android客户端。 其实Android客户端更简单,呵呵。因为我只是测试,所以我把图片的地址写固定了,在我的手机SD卡目录下的E___6702ZHE1SIGG.JPG图片文件。 通过写入流操作,将每次读取的哪部分写入bytearray中,这样,你的图片信息不会因为读取不完整而产生错误。读取完了之后,将bytearray通过编码转换成String并保存在uploadBuffer对象中。这样读取图片的部分完成了。之后便是上传,通过connectWebService(String)这个方法: 解释一下: Url就是我们发布Web Service的那个地址。 Namespace在哪找?这个问题很简单,之前我们打开的Webservice第一行中就有targetNameSpace=********,这个********就是namespace。 MethodName哪里找?同样,在发布接口的地方都可以找到。 传入参数的键值对Key在哪?不用说了…… 完了过后,通过Ksoap2封装,然后链接WebService。 因为在服务器上传成功后返回一个boolean对象,所以我们把返回来的so解封出来,并且转换成boolean对象,这样,如果返回一个false值,则说明未上传成功,如果true,那便成功了。 结篇,如果你发现从上往下1-3部都完成了,那说明,你的上传图片功能成功了,需要的是完善其他辅助功能而已。还有一点:如果要实现下载功能,不用说了吧,把服务器的Upload方法和客户端的换换就是了,我就不多说了。至此恭喜你观看网了这部分说明。

下载文档到电脑,查找使用更方便

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 6 金币 [ 分享文档获得金币 ] 0 人已下载

下载文档