80,351
社区成员
发帖
与我相关
我的任务
分享
package com.student.activity;
import java.net.URI;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import org.json.JSONArray;
import org.json.JSONObject;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;
public class StuManagerActivity extends Activity {
private static final String TAG = "StuManagerActivity";
private List<HashMap<String, Object>> list = null;
private HashMap<String, Object> stu = null;
private ListView listView = null;
private static String url = "http://192.168.1.103:8080/StudentServer/getJsonStu.action";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
listView = (ListView) findViewById(R.id.stuList);
getServerData(url);
}
public void getServerData(String url) {
// 提供默认的HttpClient实现
HttpClient client = new DefaultHttpClient();
HttpPost request;
try {
request = new HttpPost(new URI(url));
HttpResponse response = client.execute(request);
// 判断请求是否成功
if (response.getStatusLine().getStatusCode() == 200) {
HttpEntity entity = response.getEntity();
if (entity != null) {
String out = EntityUtils.toString(entity, "UTF-8");
Log.i(TAG, out);
JSONArray jsonArray = new JSONArray(out);
System.out.println(jsonArray.length());
list = new ArrayList<HashMap<String, Object>>();
System.out.println(list.size());
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = (JSONObject) jsonArray.get(i);
String stuName = jsonObject.getString("studentName");
String stuSex = jsonObject.getString("stuSex");
String phone = jsonObject.getString("phone");
stu.put("stuName", stuName);
stu.put("stuSex", stuSex);
stu.put("phone", phone);
System.out.println(stuName);
list.add(stu);
System.out.println(list.size()+"");
}
SimpleAdapter adapter = new SimpleAdapter(
StuManagerActivity.this, list, R.layout.item,
new String[] { "stuName", "stuSex", "phone" },
new int[] { R.id.stuName, R.id.stuSex, R.id.phone });
listView.setAdapter(adapter);
}
}
} catch (Exception e) {
e.printStackTrace();
Log.e(TAG, e.toString());
Toast.makeText(StuManagerActivity.this, "获取数据失败!", Toast.LENGTH_LONG).show();
}
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="p1" extends="json-default" namespace="/">
<action name="*Class" class="ClassInfoAction" method="{1}">
<result type="json"></result>
</action>
<action name="*Stu" class="StuInfoAction" method="{1}">
<result type="json"></result>
</action>
<action name="*User" class="UserInfoAction" method="{1}">
<result type="json"></result>
</action>
</package>
</struts>
package com.server.action;
import java.io.IOException;
import java.util.List;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.server.dao.IStuInfoDao;
import com.server.model.StudentInfo;
import com.server.util.DateTimeUtil;
public class StuInfoAction extends ActionSupport{
private static final long serialVersionUID = -989477296829078690L;
private IStuInfoDao IStuDao;
public IStuInfoDao getIStuDao() {
return IStuDao;
}
public void setIStuDao(IStuInfoDao iStuDao) {
IStuDao = iStuDao;
}
public void getJson(){
List<StudentInfo> list = IStuDao.queryAllStudent();
JSONArray jsonArray = new JSONArray();
int i=0;
for (StudentInfo si : list) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("remark",si.getRemark());
jsonObject.put("email", si.getEmail());
jsonObject.put("BirthDay", DateTimeUtil.TimestampToString(si.getBirthDay()));
jsonObject.put("cardId", si.getCardId());
jsonObject.put("phone", si.getPhone());
jsonObject.put("stuSex", si.getStuSex());
jsonObject.put("studentName", si.getStudentName());
jsonObject.put("className", si.getClassInfo().getClassName());
jsonObject.put("sid", si.getSid());
jsonArray.add(i,jsonObject);
i++;
}
try {
ServletActionContext.getResponse().setCharacterEncoding("UTF-8");
ServletActionContext.getResponse().getWriter().write(jsonArray.toString());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}