一.将android-async-http.jar包导入到android项目的lib下
二.手机客户端代码
1.MainActivity.java
public class MainActivity extends Activity {
ListView listview;
TextView tvName,tvPhone;
List<UserName> userList;
userAdapter userAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
method2();
}
private void setDate() {
// TODO Auto-generated method stub
userAdapter=new userAdapter(userList, this);
listview.setAdapter(userAdapter);
}
private void initView() {
// TODO Auto-generated method stub
listview=(ListView) findViewById(R.id.ListView);
tvName=(TextView) findViewById(R.id.tvName);
tvPhone=(TextView) findViewById(R.id.tvPhone);
}
public void method2() {
userList=new ArrayList<UserName>();
String urlString = "http://192.168.1.4/PocketCity2015/Municipal_getUserList.action";
AsyncHttpClient client =new AsyncHttpClient();
RequestParams params = new RequestParams();
params.put("name", "张飞");//传递参数
params.put("phone", "134564564");//传递参数
client.get(urlString, params,new JsonHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
// If the response is JSONObject instead of expected JSONArray
try {
JSONArray arr = response.getJSONArray("usersList");
for (int i=0; i< arr.length(); i++) {
JSONObject obj = arr.getJSONObject(i);
UserName user=new UserName();
String name=obj.getString("name");
String phone=obj.getString("phone");
user.setName(name);
user.setPhone(phone);
userList.add(user);
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
setDate();//封装数据到适配器里面
}
@Override
public void onSuccess(int statusCode, Header[] headers, JSONArray timeline) {
// Pull out the first event on the public timeline
Toast.makeText(getApplicationContext(), "登录成功2", Toast.LENGTH_SHORT).show();
}
});
}
class userAdapter extends BaseAdapter{
List<UserName> usersList;
MainActivity context;
public userAdapter(List<UserName> userList,MainActivity context){
super();
this.usersList=userList;
this.context=context;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return usersList.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return usersList.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder holder=null;
if(convertView==null){
convertView=View.inflate(context, R.layout.item, null);
holder=new ViewHolder();
holder.tvName=(TextView) convertView.findViewById(R.id.tvName);
holder.tvPhone=(TextView) convertView.findViewById(R.id.tvPhone);
convertView.setTag(holder);
}else{
holder=(ViewHolder) convertView.getTag();
}
UserName user=usersList.get(position);
holder.tvName.setText(user.getName());
holder.tvPhone.setText(user.getPhone());
return convertView;
}
class ViewHolder{
TextView tvName;
TextView tvPhone;
}
}
2.UserName
public class UserName {
private String name;
private String phone;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
}
三.服务端模拟代码,最终封装成json对象
public void getUserList() throws IOException{
String key=request.getParameter("key"); //获取从手机端传过来的值
Map<String,Object> map = new HashMap<String, Object>();
List<UserName> userList=new ArrayList();
UserName u=new UserName();
u.setName("张飞");
u.setPhone("1356667890");
userList.add(u);
UserName u11=new UserName();
u11.setName("赵云");
u11.setPhone("1356667890");
userList.add(u11);
UserName u2=new UserName();
u2.setName("诸葛亮");
u2.setPhone("1356667890");
userList.add(u2);
UserName u3=new UserName();
u3.setName("刘备");
u3.setPhone("1356667890");
userList.add(u3);
UserName u4=new UserName();
u4.setName("关羽");
u4.setPhone("1356667890");
userList.add(u4);
map.put("success", true);
map.put("msg", "查询成功!");
map.put("usersList", userList);
this.response.setCharacterEncoding("utf-8");
PrintWriter pw=this.response.getWriter();
JSONObject returnObj=JSONObject.fromObject(map);
pw.write(returnObj.toString());
pw.flush();
}