汪汪一只猫
首先我们要知道的是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(); } } }