package com.eolwral.osmonitor.util; import android.content.Context; import android.graphics.Bitmap; import android.support.v4.util.LruCache; import com.android.volley.RequestQueue; import com.android.volley.toolbox.ImageLoader; import com.android.volley.toolbox.ImageLoader.ImageCache; import com.android.volley.toolbox.JsonRequest; import com.android.volley.toolbox.StringRequest; import com.android.volley.toolbox.Volley; // // base on // http://cypressnorth.com/mobile-application-development/setting-android-google-volley-imageloader-networkimageview/ // public class HttpUtil { private static final String TAG = "Volley"; private static HttpUtil mInstance = null; private RequestQueue mRequestQueue; private ImageLoader mImageLoader; private HttpUtil(Context context) { mRequestQueue = Volley.newRequestQueue(context); mImageLoader = new ImageLoader(this.mRequestQueue, new ImageLruCache()); } private class ImageLruCache implements ImageCache { private final LruCache<String, Bitmap> mCache = new LruCache<String, Bitmap>( 3); public void putBitmap(String url, Bitmap bitmap) { mCache.put(url, bitmap); } public Bitmap getBitmap(String url) { return mCache.get(url); } } public static HttpUtil getInstance(Context context) { if (mInstance == null) { mInstance = new HttpUtil(context); } return mInstance; } public void addRequest(StringRequest newRequest) { if (newRequest == null) return; newRequest.setTag(TAG); mRequestQueue.add(newRequest); return; } public void addRequest(JsonRequest<?> newRequest) { if (newRequest == null) return; newRequest.setTag(TAG); mRequestQueue.add(newRequest); return; } public void cancelRequest() { mRequestQueue.cancelAll(TAG); } public ImageLoader getImageLoader() { return this.mImageLoader; } }