Volley(1)—发送get和post请求

适合数据量小,交互频繁的网络操作情况下。
不适合大数据量的网络操作,比如下载文件,或者大的视频等。
功能有:
1.JSON,图像等的异步下载
2.网络请求的排序
3.网络请求的优先级处理
4.缓存
5.多级别取消请求
6.和Activity生命周期联动
RequestQuery请求消息队列,它可以缓存所有的http请求。他是并发处理的

public class MainActivity extends Activity {

    RequestQueue queue=null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //創建一個請求隊列
    queue= Volley.newRequestQueue(getApplication());
    }
    //发送一个字符串的请求
    private void sendStringRequest(){//按钮的监听事件
        String url="http://www.baidu.com";
        //创建一个字符串请求(请求方式,url,正确的回调接口,错误的回调接口)
        StringRequest request=new StringRequest(Request.Method.GET, url, new Listener() {
            @Override
            public void onResponse(String arg0) {
                // 正确的时候
                System.out.println(arg0);
            }
        },  new ErrorListener(){

            @Override
            public void onErrorResponse(VolleyError arg0) {
                // 错误的时候
                System.out.println(arg0);
            }
        }
        );
            queue.add(request);//把消息加到队列里
    }       

    //发送post请求
    private void sendPostRequest(){
        String url="***";//地址
        StringRequest request=new StringRequest(Request.Method.POST, url, new Listener() {
            @Override
            public void onResponse(String arg0) {

            } 
        },new ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError arg0) {
                // TODO Auto-generated method stub

            }
        }){@Override
        protected Map getParams() throws AuthFailureError {
            Map params=new HashMap();
            params.put("name", "word");
            return params;

        }};
        queue.add(request);//把消息加到队列里
    }
}

你可能感兴趣的:(网络通信)