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

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() {


@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 getParams()
throws AuthFailureError {
HashMap map = new HashMap();
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() {


@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;
}
}


}

你可能感兴趣的:(项目)