您的位置:首页 > 其它

基于Volley框架的Post请求的实现

2015-04-12 16:06 405 查看
public class MainActivity extends Activity {

private String url ="http://10.0.2.2:8080/Volley_Post_GDay01/VolleyPostServer";

private RequestQueue queue;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
queue = Volley.newRequestQueue(getApplicationContext());
}

public void clickPost(View v){
int id = v.getId();
switch (id) {
case R.id.str://使用StringRequest实现Post请求
StringRequest strRequest = new StringRequest(Method.POST, url, new Listener<String>() {

@Override
public void onResponse(String response) {
Toast.makeText(MainActivity.this, response, 0).show();
}
}, new ErrorListener() {

@Override
public void onErrorResponse(VolleyError error) {

}
}){
//当把StringRequest的请求方式指定为post之后,Volley框架会调用StringRequest的getParams方法获得传递给服务器的参数
//所以重写该方法返回传递给服务器的参数
@Override
protected Map<String, String> getParams()
throws AuthFailureError {
HashMap<String, String> map = new HashMap<String, String>();
map.put("NAME", "abc");
map.put("PWD", "123");
return map;
}
};
queue.add(strRequest);
break;
case R.id.obj:
//创建JSONObject封装传递给服务器端的参数
String json = "{\"NAME\":\"abc\",\"PWD\":\"123\"}";
JSONObject jsonObj = null;
try {
jsonObj = new JSONObject(json);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

//创建发起post请求的JsonObjectRequest对象
JsonObjectRequest objRequest = new JsonObjectRequest(Method.POST, url, jsonObj, new Listener<JSONObject>() {

@Override
public void onResponse(JSONObject response) {
String result = response.toString();
Toast.makeText(MainActivity.this, result, 0).show();
}
}, new ErrorListener() {

@Override
public void onErrorResponse(VolleyError error) {

}
});

queue.add(objRequest);
break;

default:
break;
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: