Androod和Web端通讯笔记(使用Gson)

Android端代码:
private class OnClickListenerl implements OnClickListener{
		public void onClick(View v){
			String result="";//不要写成全局变量,否则Gson解析会出错
//			list=new ArrayList<LoginInfo>();
			HttpPost request=new HttpPost(URL);
			try{
				//在安卓4.0后只能在线程中连接网络,且Gson是线程安全的
				StrictMode.ThreadPolicy policy=new StrictMode.ThreadPolicy.Builder().permitAll().build();
		        StrictMode.setThreadPolicy(policy);
				HttpResponse response=new DefaultHttpClient().execute(request);
				if(response.getStatusLine().getStatusCode()==200){
					System.out.println("连接成功!");
					HttpEntity entity=response.getEntity();
					BufferedReader br=new BufferedReader(new InputStreamReader(entity.getContent()));
					String line="";
					while((line=br.readLine())!=null){
						result=result+line;
					}
					br.close();
					System.out.println(result);					
				}
			}catch(Exception e)
			{
				e.printStackTrace();
			}
			if(!result.equals("")){
				Gson gson=new Gson();
				LoginInfo info=gson.fromJson(result, LoginInfo.class);
				System.out.println(info.getId());
				System.out.println(info.getPassword());
				System.out.println(info.getRole());
			}
			System.out.println(result);		
		}
	}

Web端代码:
public void doPost(HttpServletRequest request, HttpServletResponse response)
<span style="white-space:pre">			</span>throws ServletException, IOException {
<span style="white-space:pre">		</span>response.setContentType("text/html;charset=UTF-8");
<span style="white-space:pre">		</span>String name = request.getParameter("name");
<span style="white-space:pre">		</span>String password = request.getParameter("age");
<span style="white-space:pre">		</span>System.out.println(name);
<span style="white-space:pre">		</span>LoginInfo user=new LoginInfo(name,password,"学生");
<span style="white-space:pre">		</span>Gson gson= new Gson();
<span style="white-space:pre">		</span>String str=gson.toJson(user);
<span style="white-space:pre">		</span>System.out.println(str);
<span style="white-space:pre">		</span>PrintWriter pw =response.getWriter();
<span style="white-space:pre">		</span>pw.print(str);
<span style="white-space:pre">		</span>pw.flush();
<span style="white-space:pre">		</span>pw.close();
<span style="white-space:pre">	</span>}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值