实例介绍
【实例简介】服务器端和android客户端程序都有
【实例截图】
【核心代码】
客户端核心代码:
package com.test; import java.io.BufferedReader; import java.io.InputStreamReader; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.params.HttpConnectionParams; import org.apache.http.params.HttpParams; import org.json.JSONArray; import org.json.JSONObject; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class MainActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); try{ StringBuffer sb=new StringBuffer(); String url="http://192.168.1.105:8080/JSONDemoServlet/JSONServlet"; String body=getContent(url); System.out.println("body---" body); JSONArray array=new JSONArray(body); for (int i = 0; i < array.length(); i ) { JSONObject obj=array.getJSONObject(i); sb.append("id:").append(obj.getInt("id")).append("\t"); sb.append("name:").append(obj.getString("name")).append("\r\n"); sb.append("gender:").append(obj.getString("gender")).append("\t"); sb.append("email:").append(obj.getString("email")).append("\r\n"); sb.append("------------------------\r\n"); } TextView textView=(TextView)findViewById(R.id.textView); textView.setText(sb.toString()); }catch (Exception e) { // TODO: handle exception } } private String getContent(String url) throws Exception{ StringBuilder sb=new StringBuilder(); HttpClient client=new DefaultHttpClient(); HttpParams httpParams=client.getParams(); //设置网络超时参数 HttpConnectionParams.setConnectionTimeout(httpParams, 3000); HttpConnectionParams.setSoTimeout(httpParams, 5000); HttpResponse response=client.execute(new HttpGet(url)); HttpEntity entity=response.getEntity(); if (entity!=null) { BufferedReader reader=new BufferedReader(new InputStreamReader( entity.getContent(), "UTF-8"), 8192); String line=null; while ((line=reader.readLine())!=null) { sb.append(line "\n"); } reader.close(); } return sb.toString(); } }
服务器端核心代码:
package com.test.Demo; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.json.me.JSONArray; import org.json.me.JSONObject; /** *JSONDemoServlet *com.test.Demo *JSONDemoServlet.java *@author WangYongfeng *Apr 5, 2011 5:03:49 PM TODO * */ public class JSONDemoServlet extends HttpServlet { /** * */ private static final long serialVersionUID = 1L; private List<User> list; @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub resp.setContentType("text/plain"); resp.setCharacterEncoding("UTF-8"); PrintWriter out=resp.getWriter(); //准备用户数据 prepareData(); //JSON数组 JSONArray array=new JSONArray(); for(User bean:list){ //单个用户JSON对象 JSONObject obj=new JSONObject(); try{ obj.put("id", bean.getId()); obj.put("name", bean.getName()); obj.put("email", bean.getEmail()); obj.put("gender", bean.getGender()); }catch (Exception e) { // TODO: handle exception } array.put(obj); } //输出 out.write(array.toString()); out.flush(); out.close(); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub super.doGet(req, resp); } private void prepareData(){ list = new ArrayList<User>(); User bean1 = new User(); bean1.setId(1001); bean1.setName("Tony"); bean1.setEmail("tony@toeach.net"); bean1.setGender("male"); list.add(bean1); User bean2 = new User(); bean2.setId(1002); bean2.setName("Jack"); bean2.setEmail("jack@hotmail.com"); bean2.setGender("male"); list.add(bean2); User bean3 = new User(); bean3.setId(1003); bean3.setName("Marry"); bean3.setEmail("marry@163.com"); bean3.setGender("female"); list.add(bean3); User bean4 = new User(); bean4.setId(1004); bean4.setName("Linda"); bean4.setEmail("linda@21cn.com"); bean4.setGender("female"); list.add(bean4); } }
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论