Android 网络编程json
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Android 网络编程---STRUTS2,JSON,HttpClient
分类:Android智能手机开发2011-04-21 15:26 243人阅读评论(0) 收藏举报在Android开发过程中,我们需要访问网络上的Web资源,比如网络上的WEB请求。在这里Android就好像是一个终端,可以用来接收Web 服务器端发送过来的数据。下面我以Struts2作为Web服务器端的Web框架。来说明Android客户端接收Web请求的过程。
首先,我们要配置Web服务器端,添加Struts2所需要的JAR包(包括JSON包)
下面是服务器端所要配置的JAR包,如下所示:
我们看看json包,有如下:json-lib-**.jdk15.jar,struts2-json-plugin-***.jar,ezmorph-**.jar
接下配置web.xml文件,代码如下所示:
view plaincopy to clipboardprint?
添加完JAR包后。我们来配置一下struts.xml文件,这个文件存放在src根目录下面,代码如下所示:
view plaincopy to clipboardprint?
1.
2.
3."-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
4."/dtds/struts-2.0.dtd">
5.
6.
9.
10. 11.value="true"> 12.
13.
17.
18.
19.
20. 21.method="login"> 22. 23. 24.
25.
26.
看看这个action
method="login">
返回的是json 数据。而且是由LoginAction类去处理,它存放在com.dongzi.action下面。LoginAction类的代码如下:
view plaincopy to clipboardprint?
public class LoginAction extends ActionSupport implements ServletRequestAware,
ServletResponseAware {
/**
*
*/
private static final long serialVersionUID = 1L;
HttpServletRequest request;
HttpServletResponse response;
public void setServletRequest(HttpServletRequest request) {
this.request = request;
}
public void setServletResponse(HttpServletResponse response) {
this.response = response;
}
public void login() {
try {
// HttpServletRequest request =ServletActionContext.getRequest();
// HttpServletResponse response=ServletActionContext.getResponse();
this.response.setContentType("text/html;charset=utf-8");
this.response.setCharacterEncoding("UTF-8");
// 将要返回的实体对象进行json处理
// JSONObject json=JSONObject.fromObject(this.getUsername());
// 输出格式如:{"id":1, "username":"zhangsan", "pwd":"123"}
// System.out.println(json);
// this.response.getWriter().write(json.toString());
//{"username":"mingg","password":"123"}
JSONObject json=new JSONObject();
// json.put("username", "mingg");
// json.put("password","123");
//【这里在JSON中包含一个Map】
Map map=new HashMap
map.put("username", "xiaomingg");
map.put("password", "1234");
map.put("state", "1");
json.put("userbean", map);
response.getWriter().write(json.toString());
////{"userbean":{"username":"100196","password":"1234453","State":1}}
/**
* 值的数组
{"people": [
{"username":"mingg","password":"123","email":"172@"},
{"username":"jie","password":"111","email":"172@"},
{"username":"yong","password":"1232","email":"1sa@"}
]}
*/