package libcore.io; import libcore.io.exception.CannotConnect2NetException; import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; import com.loopj.android.http.AsyncHttpClient; import com.loopj.android.http.PersistentCookieStore; /** * 初始化时必须先设置context,此方法推荐在app初始化的时候调用 * * @author 陈孟琳 * * 2014-8-15 */ public class HttpClientUtils { private static PersistentCookieStore store; private static void setContext(Context context) { if (null == store) { synchronized (HttpClientUtils.class) { store = new PersistentCookieStore(context); } } } public static AsyncHttpClient getClient(Context context) throws CannotConnect2NetException { if (!hasConnect(context, ConnectivityManager.TYPE_WIFI) && !hasConnect(context, ConnectivityManager.TYPE_MOBILE)) { throw new CannotConnect2NetException("无网络连接,请检查网络"); } AsyncHttpClient client = new AsyncHttpClient(); if (null == store) { setContext(context); } client.setCookieStore(store); return client; } public static boolean hasConnect(Context context, int type) { ConnectivityManager conn = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo info = conn.getActiveNetworkInfo(); return null != info && info.getType() == type; } }