Volley框架

//创建一个类,继承Addlication
public class MyApp extends Application {

private static RequestQueue queue;
@Override
public void onCreate() {
    super.onCreate();
    queue = Volley.newRequestQueue(getApplicationContext());
}
public static RequestQueue getHttpQueue(){
    return queue;
}

}
//在清单文件中调用MyApp类
android:name=".volley.MyApp"

//HttpVolley
public class HttpVolley {

private static HttpVolley httpVolley;
private StringRequest stringRequest;

public interface VolleyCallBack{
    void onSuccess(String data);
    void onFail(VolleyError error);
}
//网络判断
public boolean isNet(Context context){
    if (context!=null){
        ConnectivityManager mConnectivityManager =
                (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo networkInfo = mConnectivityManager.getActiveNetworkInfo();
        if (networkInfo!=null){
            return networkInfo.isAvailable();
        }
    }
    return false;
}
//单例模式
public static  synchronized HttpVolley getInstance(){
    if (httpVolley==null){
        httpVolley=new HttpVolley();
    }
    return httpVolley;
}


public void HttpVolleyGet(String url,final VolleyCallBack callBack){
    stringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
        @Override
        public void onResponse(String response) {
            callBack.onSuccess(response);
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            callBack.onFail(error);
        }
    });
    //设置请求的Tag标签,可以在全局请求队列中通过Tag标签进行请求的查找
    stringRequest.setTag("textPost");
    //将请求加入全局队列中
    MyApp.getHttpQueue().add(stringRequest);
}
//post请求
public void HttpVolleyPost(String url, final Map<String,String> map,final VolleyCallBack callBack){
    stringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
        @Override
        public void onResponse(String response) {
            callBack.onSuccess(response);
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            callBack.onFail(error);
        }
    }){
        @Override
        protected Map<String, String> getParams() throws AuthFailureError {
            return map;
        }
    };
    stringRequest.setTag("textPost");
    MyApp.getHttpQueue().add(stringRequest);
}

}

猜你喜欢

转载自blog.csdn.net/weixin_44668084/article/details/89363871
今日推荐