Android 响应服务器端,android客户端如何接受服务器端servlet响应的中文字符

d5a39f5510fa7e45ab04287e39264e24.png

汪汪一只猫

首先我们要知道的是Android客服端与服务器数据交换的方式是一般用json,只是一般在设置字符集的时候用utf8,因为Android是基于Linux内核的,用utf8方便接收中午的时候不会乱码原因是JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式。json解析也容易json是一种key /value键值对的数据存储方式的类似于Map下面的是服务器端输出的json代码这里不写详细的 代码,因为服务器用的框架不同是不一样的下面的是Servlet的代码片段12345678// 设置响应的编码            this.response.setContentType("text/html;charset=utf-8");            this.response.setCharacterEncoding("UTF-8");//设置utf8方便接受中文的时候不会乱码            // 获取客户端的请求信息            String username = this.request.getParameter("username");JSONObject json = new JSONObject();//定义一个JSONObjectjson.put("message", "success");//添加数据response.getWriter().println(json.toString());//输出响应的数据然后就要在android客服端接受数据了要接受服务器的返回的数据就要先与服务器起得连接1234567891011121314151617181920212223242526272829303132333435363738394041public class MainActivity extends Activity {    /** Called when the activity is first created. */ //模拟器自己把自己当成localhost了,服务器应该为10.0.2.2     @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        getPDAServerData(url);     }         /**     * 请求服务     * @param url     */    private void getPDAServerData(String url){     url+="?username=123456";     HttpClient client=new DefaultHttpClient();     HttpPost request;      try {      request = new HttpPost(new URI(url));//使用post方式   HttpResponse response=client.execute(request);//执行连接到服务器   //判断请求是否成功      if(response.getStatusLine().getStatusCode()==200){       HttpEntity  entity=response.getEntity();    if(entity!=null){    String out=EntityUtils.toString(entity);//获取服务器端返回的结果是json字符串,android有自带的json解析框架包,不用另外导入的     new AlertDialog.Builder(this).setMessage(out).create().show();    }      }      }catch (URISyntaxException e) {   e.printStackTrace();  }     catch (ClientProtocolException e) {   e.printStackTrace();  } catch (IOException e) {   e.printStackTrace();  }    } } 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值