SSH 和Android 客户端之间的通讯

这是前几天的研究,项目中用到了。ssh框架搭建的服务器,Android的客户端之间的数据交互,就写了一个简单的登录。 Struts,hibnate,Spring的环境搭建就不说了,基本上都会了,现在主要说简单的配置。 struts.xml 的配置 struts 要加的几个关键jar文件 *

gson-2.2.4.jar //google 官方的json 

struts2-json-plugin-2.3.15.1.jar //struts json 需要的jar

<package name="struts2" extends="json-default"> //继承struts的json
     <action name="user_*" class="loginaction" method="{1}"> 
         <result type="json"></result>
          <!--<result name="success">/success.jsp</result> 
          <result name="input">/index.jsp</result>--> 
      </action> 
 </package>

 Action中的 方法 

list = usi.findAll(); //查询到的集合 
Gson gson = new Gson();
 try { json = gson.toJson(list, new TypeToken<List<User>>() { }.getType()); //封装成json (String) 类型的 
 this.response.setContentType("text/json;charset=utf-8"); 
 response.setCharacterEncoding("UTF-8"); //设置输出字符集格式 
 byte[] jsonBytes = json.toString().getBytes("utf-8"); //转换成字节 
 response.setContentLength(jsonBytes.length); 
 response.getOutputStream().write(jsonBytes); //输出数据 
 response.getOutputStream().flush(); 
 response.getOutputStream().close(); 
 } catch (IOException e) { 
 // TODO Auto-generated catch block 
 e.printStackTrace(); 
 }

 Android 客户端获取到数据以后 需要转换 需要把接收到的数据 转换成对象集合,和服务器Action 返回的对象一样 

 list=gson.fromJson(msg.obj.toString(),new TypeToken<ArrayList<User>>() {}.getType());

你可能感兴趣的:(SSH 和Android 客户端之间的通讯)