免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1568 | 回复: 0
打印 上一主题 下一主题

android 通过 Hessian 与 j2ee 服务端交互 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-11-14 17:03 |只看该作者 |倒序浏览
android 通过 Hessian 与 j2ee 服务端交互







    首先,让j2ee那帮兄弟把服务端Hessian实现的接口类以及这个接口类公共方法所传入、返回的那些需要序列化的类给自己,copy也行,打成jar包也行。

   

    接口相关的类的包名和类名也必须得和服务端的相同。



    剩下就是客户端加入 hessdroid这个包了,android的一个第三方Hessian库。



    调用很简单,下面是示例代码:
  1. view sourceprint?
  2. 01 HessianProxyFactory factory=new HessianProxyFactory();  

  3. 02   

  4. 03 //如果需要用户验证的话  

  5. 04 //factory.setUser("uname");  

  6. 05 //factory.setPassword("xxx");  

  7. 06   

  8. 07   

  9. 08 factory.setReadTimeout(5000);  

  10. 09   

  11. 10 //这个就是和服务端使用的相同的接口,从j2ee兄弟那靠过来,或者他们给的jar包也行,只要包名类名相同。  

  12. 11 XxxxInterfaceService ifs=factory.create(XxxxInterfaceService.class,url,getClass().getClassLoader());  

  13. 12            

  14. 13   

  15. 14   

  16. 15   

  17. 16 //这两个方法是设置使用的hessian协议版本是否为第2版,如果不是的话,就填false     

  18. 17 //factory.setHessian2Reply(false);  

  19. 18 //factory.setHessian2Request(false);  

  20. 19   

  21. 20 //现在可以直接调用接口中的方法了,就和本地一样              

  22. 21 Response r=ifs.getSomthing("somthing");
复制代码
很简单,比webservice方便多了。



这里顺便扯一下远程RPC。



         这年头咱也得敢潮流,只要是个android客户端咱都要说是云端,不是么?

         哪个不是与服务器交互啊,至于怎么交互,我以前是倾向于json的,他比webservice之类的soap强多了,作为云端开发者,你敢让用户那可怜的gprs流量来传输xml这种形式大于实质的数据么?

         首先是webservice在android上面实现很麻烦,ksoap2用起来真的很麻烦,其次呢,谁能在sdk下找到jdk默认javax里的webservice包?谷歌都已经把它扔了,用json代替了。

         Hessian呢,确实是个不错的选择,hessdroid在客户端很好配置,几行代码搞定,传输的也都是序列化过的二进制数据,自己动手抓抓http包,各种远程rpc技术的优劣在心里就能有个底了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP