Android_volley GET、POST网络请求封装

第一步导依赖

    implementation 'com.mcxiaoke.volley:library:1.0.19'

第二步创建一个全局类 继承Application 初始化volley

/*Time:2019/4/16
 *Author:zhaozhiwei
 *Description:
 */public class App extends android.app.Application {

    private static RequestQueue requestQueue;

    @Override
    public void onCreate() {
        super.onCreate();
        requestQueue = Volley.newRequestQueue(getApplicationContext());
    }
    public static RequestQueue getHttpVolley(){
        return requestQueue;
    }
}

第三步接着在清单文件中 application下注册一下(name属性)

第四写Volley网络请求工具类


import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;

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;

/*Time:2019/4/16
 *Author:zhaozhiwei
 *Description:
 */public class HttpVolley {
     public static HttpVolley httpVolley;
//懒汉式单例
     public static synchronized HttpVolley getInstance(){
         if (httpVolley==null){
             httpVolley = new HttpVolley();
         }
         return httpVolley;
     }
     //网络判断
    public boolean isNetWorkConneted(Context context){
         if (context!=null){
             ConnectivityManager systemService = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
             NetworkInfo networkInfo = systemService.getActiveNetworkInfo();
             if (networkInfo!=null){
                 return networkInfo.isAvailable();
             }
         }
         return false;
    }


     //Get封装
     public void VolleyHttpGet(String url, final VolleyCallback volleyCallback){
        StringRequest stringRequest =  new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                volleyCallback.onSucceed(response);
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                volleyCallback.onFail(error);
            }
        });
        stringRequest.setTag("testget");
        App.getHttpVolley().add(stringRequest);
     }
    public void VolleyHttpPost(String url, final String phone, final String pwd, final VolleyCallback volleyCallback) {
        StringRequest stringRequest1 =  new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                volleyCallback.onSucceed(response);
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                volleyCallback.onFail(error);
            }
        }){
            @Override
            protected Map<String, String> getParams() throws AuthFailureError {
                Map<String, String> map = new HashMap();
                map.put("phone", phone);
                map.put("pwd", pwd);
                return map;
            }
        };
        //设置请求的Tag标签,可以在全局请求队列中通过Tag标签进行请求的查找
        stringRequest1.setTag("textpost");
        App.getHttpVolley().add(stringRequest1);
    }


    public   interface VolleyCallback{
         void onSucceed(String data);
         void onFail(VolleyError error);
     }


}

然后就封装好了,在别的类调用就可以

猜你喜欢

转载自blog.csdn.net/Android_Mr_Zhao/article/details/89354993