android 网络框架 volley 初识

来源:互联网 发布:新三板 软件 编辑:程序博客网 时间:2024/05/23 19:36

volley已经出来一年多了,目前的市场基本和android async http持平,下面我给出volley的简单用法

首先在application中创建一个公共的请求队列:

package com.example.xuan.netvolleydemo;import android.app.Application;import com.android.volley.RequestQueue;import com.android.volley.toolbox.Volley;public class MyApplication extends Application {    public static RequestQueue requestQueue;    public static RequestQueue getRequestQueue() {        return requestQueue;    }    @Override    public void onCreate() {        super.onCreate();        requestQueue= Volley.newRequestQueue(getApplicationContext());    }}


1:GET请求

 private void volley_get() {        String url = "http://apis.juhe.cn/mobile/get?phone=15001099630&key=335adcc4e891ba4e4be6d7534fd54c5d";        StringRequest request = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {            @Override            public void onResponse(String s) {                Toast.makeText(context, "res:" + s, Toast.LENGTH_SHORT).show();            }        }, new Response.ErrorListener() {            @Override            public void onErrorResponse(VolleyError volleyError) {                Toast.makeText(context, "error:" + volleyError, Toast.LENGTH_SHORT).show();            }        });        request.setTag(get_tag);        MyApplication.getRequestQueue().add(request);    }


2:POST请求

  private void volley_post() {        String url = "http://apis.juhe.cn/mobile/get?";        StringRequest request = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {            @Override            public void onResponse(String s) {                Toast.makeText(context, "res:" + s, Toast.LENGTH_SHORT).show();            }        }, new Response.ErrorListener() {            @Override            public void onErrorResponse(VolleyError volleyError) {                Toast.makeText(context, "error:" + volleyError, Toast.LENGTH_SHORT).show();            }        }) {            @Override            protected Map<String, String> getParams() throws AuthFailureError {                Map<String, String> params = new HashMap<String, String>();                params.put("phone", "15001099630");                params.put("key", "335adcc4e891ba4e4be6d7534fd54c5d");                //return super.getParams();                return params;            }        };        request.setTag(post_tag);        MyApplication.getRequestQueue().add(request);    }



全部代码:

package com.example.xuan.netvolleydemo;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.widget.Toast;import com.android.volley.AuthFailureError;import com.android.volley.Request;import com.android.volley.Response;import com.android.volley.VolleyError;import com.android.volley.toolbox.StringRequest;import java.util.HashMap;import java.util.Map;public class MainActivity extends Activity {    private static String get_tag = "getTag";    private static String post_tag = "postTag";    private Context context;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        context = this;        setContentView(R.layout.activity_main);       // volley_get();        volley_post();    }    private void volley_get() {        String url = "http://apis.juhe.cn/mobile/get?phone=15001099630&key=335adcc4e891ba4e4be6d7534fd54c5d";        StringRequest request = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {            @Override            public void onResponse(String s) {                Toast.makeText(context, "res:" + s, Toast.LENGTH_SHORT).show();            }        }, new Response.ErrorListener() {            @Override            public void onErrorResponse(VolleyError volleyError) {                Toast.makeText(context, "error:" + volleyError, Toast.LENGTH_SHORT).show();            }        });        request.setTag(get_tag);        MyApplication.getRequestQueue().add(request);    }    private void volley_post() {        String url = "http://apis.juhe.cn/mobile/get?";        StringRequest request = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {            @Override            public void onResponse(String s) {                Toast.makeText(context, "res:" + s, Toast.LENGTH_SHORT).show();            }        }, new Response.ErrorListener() {            @Override            public void onErrorResponse(VolleyError volleyError) {                Toast.makeText(context, "error:" + volleyError, Toast.LENGTH_SHORT).show();            }        }) {            @Override            protected Map<String, String> getParams() throws AuthFailureError {                Map<String, String> params = new HashMap<String, String>();                params.put("phone", "15001099630");                params.put("key", "335adcc4e891ba4e4be6d7534fd54c5d");                //return super.getParams();                return params;            }        };        request.setTag(post_tag);        MyApplication.getRequestQueue().add(request);    }    @Override    protected void onStop() {        super.onStop();        MyApplication.getRequestQueue().cancelAll(get_tag);        MyApplication.getRequestQueue().cancelAll(post_tag);    }}



0 0
原创粉丝点击