现在android开发中关于客户端发送请求到服务器的请求有很多,个人觉得使用volley框架更为方便。下面简单介绍下关于volley框架发送get和post请求的实现。
1.volley的get请求。
这里主要是使用get方从服务器获取数据,然后直接使用fastjson解析json数据格式,主要使用静态类的方式进行解析,可以直接保存到list中,使用比较方便。
红色部分为发送请求。。。。
private void getData(final int method){
String url=Configuration.getdynamicmessagesUrl+"?index="+index+"&&user_id="+1;
JsonArrayRequest jar=new JsonArrayRequest(url,
new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
List<DynamicMessage> list=JSON.parseArray(response.toString(),DynamicMessage.class);
if(method==1){
messagelist.clear();
messagelist=list;
}else if(method==2){
for(int i=0;i<list.size();i++){
messagelist.add(list.get(i));
}
}
if(!messagelist.isEmpty())
{
lastActivityId=messagelist.get(messagelist.size()-1).getDynamic_id();
}
Messageadapter tempadapter=new Messageadapter(FragmentMessage.this.getActivity(),messagelist,FragmentMessage.this);
mylistview.setAdapter(tempadapter);
mylistview.setSelection(mylistview.getCount()-1);
mylistview.stopLoadMorePic();
}
},
new Response.ErrorListener(){
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getActivity().getApplicationContext(), "消息获取失败", Toast.LENGTH_SHORT).show();
mylistview.stopLoadMorePic();
}
});
mRequestQueue.add(jar);
}
2.volley的post请求。
settingpost.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (DataCheck()) {
new AlertDialog.Builder(Setting_geren.this).setTitle("确认").setMessage("确定修改吗?")
.setPositiveButton("确定",new DialogInterface.OnClickListener() {
public void onClick(
DialogInterface dialog,int which) {
// TODO Auto-generated method stub
//设置上传的参数和数据
Map<String, String> map = new HashMap<String, String>();
map.put("user_id",user_id.toString());
map.put("nickname", name.getText().toString().trim());
map.put("gender", sex);
map.put("school", school.getText().toString().trim());
map.put("major", major.getText().toString().trim());
//发送请求
String url = Configuration.updateuserUrl;
RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext());
JSONObject jsonObject = new JSONObject(map);
JsonRequest<JSONObject> jsonRequest = new JsonObjectRequest(Method.POST,url,jsonObject,
new Response.Listener<JSONObject>() {
@SuppressLint("ShowToast")
@Override
public void onResponse(JSONObject response)
{
try {
successresponse=response.get("success").toString();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(successresponse.equals("1"))
{
Toast.makeText(Setting_geren.this,"修改成功",1).show();
Intent intent = new Intent(Setting_geren.this, Personal_setting.class);
Setting_geren.this.startActivity(intent);
Setting_geren.this.finish();
}
else
{
Toast.makeText(Setting_geren.this,"修改失败",1).show();
}
}
},new Response.ErrorListener() {
@SuppressLint("ShowToast")
@Override
public void onErrorResponse(VolleyError error)
{
Toast.makeText(Setting_geren.this,"修改失败", 1).show();
}
});
requestQueue.add(jsonRequest);
//
}
}).setNegativeButton("取消", null).show();
}
}
});
}
此处需要引用外部包,volley.jar和fastjson.jar。可以直接去网上下载。