JSON实现Android 网络数据交换
来源:互联网 发布:linux mysql 客户端 编辑:程序博客网 时间:2024/05/22 07:47
1,服务端到客户端
服务端新建Json数据,HttpservletResponse是请求对象的返回,得到他的writer,把json转换成string就可以。写在doGet里。
代码:
客户端,使用HttpClient的execute的方法。用httpGet去执行。返回HttpResponse。再从response读取。
代码:
2,客户端到服务器端的传送
客户端,跟前面差不多,也是利用httpClient的execute方法,不过发送数据用Post。结合entity。
代码:
服务端,只要写一个读取的方法就可以,在方法里处理HttpservletRequest的数据
代码: 这里只是输出
服务端新建Json数据,HttpservletResponse是请求对象的返回,得到他的writer,把json转换成string就可以。写在doGet里。
代码:
- res.setContentType("UTF-8");
- PrintWriter pw = res.getWriter();
- JSONObject json = new JSONObject();
- json.put("name","fwz");
- pw.write(json.toString());
客户端,使用HttpClient的execute的方法。用httpGet去执行。返回HttpResponse。再从response读取。
代码:
- BufferedReader bufferedReader = null;
- StringBuilder sb = new StringBuilder();
- String s = "";
- try {
- HttpClient client = new DefaultHttpClient();
- HttpResponse response = client.execute(new HttpGet("http://10.0.2.2:8080/myFirstServlet/JSONServer"));
- HttpParams httpParams = client.getParams();
- HttpConnectionParams.setConnectionTimeout(httpParams, 3000);
- HttpConnectionParams.setSoTimeout(httpParams, 5000);
- HttpEntity entity = response.getEntity();
- if (entity!=null) {
- bufferedReader = new BufferedReader(new InputStreamReader(entity.getContent(),"UTF-8")); //8192
- while((s=bufferedReader.readLine())!=null) {
- sb.append(s);
- }
- }
- nameTextView.setText(sb.toString()); //这里输出得到的JSon数据(未解析)
- } catch (Exception e) {
- // TODO: handle exception
- e.printStackTrace();
- }
2,客户端到服务器端的传送
客户端,跟前面差不多,也是利用httpClient的execute方法,不过发送数据用Post。结合entity。
代码:
- HttpClient client = new DefaultHttpClient();
- HttpPost post = new HttpPost("http://10.0.2.2:8080/myFirstServlet/JSONServer");
- JSONObject jsonObject = new JSONObject();
- try {
- jsonObject.put("name", "ze");
- StringEntity entity = new StringEntity(jsonObject.toString());
- post.setEntity(entity);
- HttpResponse responString = client.execute(post);
- } catch (JSONException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (UnsupportedEncodingException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (ClientProtocolException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
服务端,只要写一个读取的方法就可以,在方法里处理HttpservletRequest的数据
代码: 这里只是输出
- try {
- BufferedInputStream in = new BufferedInputStream(req.getInputStream());
- int i;
- char c;
- while ((i=in.read())!=-1) {
- c=(char)i;
- System.out.print(c);
- }
- System.out.println();
- System.out.println("test");
- }
- catch (Exception ex) {
- ex.printStackTrace();
- }
- JSON实现Android 网络数据交换
- Android JSON网络数据交换
- Android JSON网络数据交换
- android 使用JSON进行网络数据交换
- android 使用JSON进行网络数据交换
- Android 使用JSON进行网络数据交换
- Android使用JSON进行网络数据交换
- android之JSON 进行网络数据交换
- android使用JSON进行网络数据交换
- Android使用JSON进行网络数据交换
- JSON实现Android 网络数据交换(包括复杂对象的传送)
- 使用JSON 进行网络数据交换
- 采用JSON数据交换格式实现框架
- android中的数据交换格式之JSON
- Android json解析网络数据实现天气实时查询
- android网络通信,与socket交换数据
- 用 json 实现跨域,实现数据的交换
- JSON数据交换格式
- Linux操作系统定时任务系统 Cron 入门
- ios6 设备旋转以及获取设备方向
- The blog about Sample Browser_Serach,download,learn,share, and request code samples
- NSURL
- About 会议讨论
- JSON实现Android 网络数据交换
- 最常用的设计模式(未完)
- SVN同步相关问题
- java 剪切 图片 BufferedImage
- 转: 关于UI开发(总结一些技术和一些论坛牛人讨论)
- android游戏开发框架libgdx的使用(十六)—使用TexturePacker工具加快开发速度
- Java break label
- CUnit介绍
- ios 设置屏幕方向的两种方法