volley的好处这里就不介绍了,这些资料很多,这里只记录volley的最简单直接的用法:

private RequestQueue mQueue;
mQueue = Volley.newRequestQueue(this);// 网络请求队列创建
//这里创建一个HashMap,用来存放参数,发给服务器
Map params = new HashMap();
        params.put("latitude", latitude+"");// 经度
        params.put("longitude", longitude+"");// 纬度
        params.put("username", "liuxd");// 用户名
        params.put("weiz", tv.getText().toString());// 地址
        params.put("imei", id);// 设备号
        params.put("type", "1");// 类型:1
//这里对服务器进行请求
        JsonObjectRequest newMi***equest = new JsonObjectRequest(
                Request.Method.POST, url, new JSONObject(params),
                new Response.Listener() {
                    // 请求成功
                    @Override
                    public void onResponse(JSONObject jsonobj) {
                                Toast.makeText(getApplicationContext(), "签到成功", 0).show();
                            }
                        }
                    }
                }, new Response.ErrorListener() {
                    // 请求失败
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        Toast.makeText(getApplicationContext(), "签到失败,请检查网络", 0).show();
                    }
                });
        // 加入队列
        mQueue.add(newMi***equest);
        // 开始
        mQueue.start();
    }