[hessdroid]Android下使用Hessian与Java服务端通讯

一、准备

    1.1  下载源码

      下载Mercurial,安装完之后右键TortoiseHg->Clone->Source Path,输入"https://hessdroid.googlecode.com/hg/"下载即可。

    1.2  打包成jar

      源码直接用eclipse导入即可,然后导出成jar即可,这里我导成了hessdroid.jar。懒得自己导的可以从这里下载:http://download.csdn.net/source/2584651。

二、通讯接口

    和WebService一样,准备一个接口:

public interface BasicAPI {
  
public String hello();
}

  二、服务端

    服务端为Tomcat+Servlet。

    2.1  导入Hessian官方Java的jar包,从http://hessian.caucho.com/下一个导入就行,本文例子是hessian-3.0.20.jar

    2.2  BasicService.java

public class BasicService extends HessianServlet implements BasicAPI {
  
private String _greeting = "Hello, world";

  
public void setGreeting(String greeting)
  {
    _greeting = greeting;
  }

  
public String hello()
  {
    
return _greeting;
  }
}

    2.3  在web.xml中配置接受servlet,这里写成:

    <servlet>
         
<servlet-name>hello</servlet-name>
         
<servlet-class>com.BasicService</servlet-class>
    
</servlet>
      
<servlet-mapping>
          
<servlet-name>hello</servlet-name>
          
<url-pattern>/hello.do</url-pattern>
      
</servlet-mapping>

三、客户端

    3.1  新建Android项目,导入hessdroid.jar(别搞混淆了,是自己打包生成的那个jar包)。

    3.2  在界面上添加一个按钮,并添加点击事件:

    public void OnClick11(View view)
    {
        String url = "http://192.168.1.1:8080/HessianServer/hello.do";
        HessianProxyFactory factory = new HessianProxyFactory();
        
try {
            factory.setDebug(true);
            factory.setReadTimeout(5000);
            BasicAPI basic = (BasicAPI)factory.create(BasicAPI.class, url,getClassLoader());
            Toast.makeText(this"调用结果:"+basic.hello(), Toast.LENGTH_LONG).show();
        } catch (MalformedURLException e) {
            e.printStackTrace();
        }
    }

    3.3  成功截图:

[hessdroid]Android下使用Hessian与Java服务端通讯

维护

  2010-11-11

    由jiangcoco分享的经验:连接服务器出现hessianConncectionException错误,模拟器上还好,真机上比较明显,可能是由于网络原因造成,此时应该把超时时间设置稍晚长一些。

     2011-8-9

           提醒大家记得加权限:<uses-permission android:name="android.permission.INTERNET" /> 

     2011-9-26

            补充Hessian两篇文章:

            Hessian轻量级二进制远程调用框架

            《Spring技术内幕》学习笔记18——Spring使用Hessian实现远程调用

本文转自博客园农民伯伯的博客,原文链接:[hessdroid]Android下使用Hessian与Java服务端通讯,如需转载请自行联系原博主。

上一篇:rxjs of操作符生成的Observable对象的执行详细分析


下一篇:《超越平凡的平面设计: 版式设计原理与应用》—空白页面,含义无穷