最近公司要把一个老的项目拿来重做,服务端用的是hessian基于hessian4.0.7,hessian一般是用来做web页面的(废话,肯定有我Android的实现方法),在Android端使用的话,需要导入hessianorid的jar包。注意,hessianorid.jar包的版本号要与后台所使用的hession版本保持一致。否则,会报错。hessianorid的开源地址自己可以去找度娘,然后删除一些没有用的类,自己打jar包,当然,文章底部我会提供一版,已经制作好的hessianorid4.0.7版本的jar包。
废话说的够多了,以登录请求为例,上代码来展示一下具体的实现方法。
public static void login(String userName, String password,String warhouseNo, CallBack callBack) { HessianProxyFactory factory = new HessianProxyFactory(); LoginRFDTO loginRFDTO = new LoginRFDTO();//参数bean loginRFDTO.setName(userName); loginRFDTO.setPassword(password); loginRFDTO.setWarehouseNo(warhouseNo); try { LoginHessianServiceApi loginRFServiceApi = (LoginHessianServiceApi)factory.create(LoginHessianServiceApi.class, URLConstant.LOGIN_URL); loginRFDTO = loginRFServiceApi.rfLogin(loginRFDTO); callBack.callBack(loginRFDTO); } catch (Exception e) { e.printStackTrace(); loginRFDTO.setErr(e.getMessage()); callBack.callBack(loginRFDTO); } }
//一个简单的请求接口 public interface LoginHessianServiceApi { LoginRFDTO rfLogin(LoginRFDTO var1); }
CallBack只是一个类似的自定义的回调接口,好吧,也奉上吧
public interface CallBack{ void callback(Object var1); }
惊不惊喜?意不意外?是不是觉得太简单了?然而事实并没有那么简单。LoginHessianSerciceApi LoginPFDTO,无论是参数还是接口,这些参与网络请求的类,都要保持与后台服务端相同,注意是完全相同,包括包名。(简单的做法,让后台,抽出来打个jar包,自己导入一下)
然后,没有然后了。就这么简单,game over