package stsfan.com.mvpdome.net;
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 com.android.volley.toolbox.Volley;
import java.lang.reflect.Method;
import java.util.Map;
import stsfan.com.mvpdome.myapp.MyApp;
/**
* @copyright: zhidu
* @author fanyanlong
* @email 326445811@qq.com
* @versions: V1.0.1
* @data: 2019/4/16
* @description:HttpVolley
*Volley的Get和Post请求方式的使用
*/
public class HttpVolley {
private static Context context;
private static HttpVolley httpVolley;
//private static HttpVolley httpVolley=new HttpVolley();
/*//饿汉式
public static HttpVolley getInstance(){
return httpVolley;
}
*/
public boolean isNetworkConnected(Context context) {
if (context != null) {
ConnectivityManager mConnectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();
if (mNetworkInfo != null) {
return mNetworkInfo.isAvailable();
}
}
return false;
}
//懒汉式
public static synchronized HttpVolley getInstance(){
if(httpVolley==null){
httpVolley = new HttpVolley();
}
return httpVolley;
}
//get 请求
public void VolleyHttpGet(String url, final VolleyCallBack callBack){
StringRequest stringRequestget= 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标签进行请求的查找
stringRequestget.setTag("testPost");
//将请求加入全局队列中
MyApp.getHttpVolley().add(stringRequestget);
}
// post请求
public void VolleyHttpPost(String url, final Map<String,String> map, final VolleyCallBack callBack){
StringRequest stringRequestpost= new StringRequest(Request.Method.POST, 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;
}
};
//设置请求的Tag标签,可以在全局请求队列中通过Tag标签进行请求的查找
stringRequestpost.setTag("testPost");
//将请求加入全局队列中
MyApp.getHttpVolley().add(stringRequestpost);
}
// 定义接口
public interface VolleyCallBack{
void onSuccess(String data);
void onFail(VolleyError error);
}
}