为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

Android通过Ksoap2链接WebService上传图片的功能

2013-09-23 4页 doc 132KB 12阅读

用户头像

is_983981

暂无简介

举报
Android通过Ksoap2链接WebService上传图片的功能Android通过Ksoap2链接WebService上传图片的功能 介绍一下编译环境:Tomcat6.0+Myeclipse6.5GA版。为什么选用Myeclipse,是因为他集成了很多工具,如果你愿意尝试,可以使用Eclipse去自定义加载一些工具。 在前面我写过一篇文章是Android利用ksoap2方式连接webservice(http://blog.sina.com.cn/s/blog_774be4790100qzg6.html)。这里我们也要用到同样的技术。 再申明一个问题,我的编写是没有日志或者打印的,如果你...
Android通过Ksoap2链接WebService上传图片的功能
Android通过Ksoap2链接WebService上传图片的功能 介绍一下编译环境:Tomcat6.0+Myeclipse6.5GA版。为什么选用Myeclipse,是因为他集成了很多工具,如果你愿意尝试,可以使用Eclipse去自定义加载一些工具。 在前面我写过一篇文章是Android利用ksoap2方式连接webservice(http://blog.sina.com.cn/s/blog_774be4790100qzg6.html)。这里我们也要用到同样的技术。 再申明一个问题,我的编写是没有日志或者打印的,如果你要看进行到了哪一步,请自己写一下打印。 1、 编写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接口就定义好了 2、 发布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之类)。 打开成功可以看到如下内容: 下面那部分就不用关心了,我们所关心的上传方法已经通过接口发布出来了,这里就结束服务器的部分。 3、 编写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方法和客户端的换换就是了,我就不多说了。至此恭喜你观看网了这部分说明。
/
本文档为【Android通过Ksoap2链接WebService上传图片的功能】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索