با سلام
میخواستم بدون برای استفاده کردن RequestQueueها در داخل یک کلاس بصورت Singleton استفاده کنیم خوبه ؟
و من این کلاس رو از خود گوگل گرفتم و میخواستم بدون وقتی این کلاس ساخته شدش ایا لازم در کلاس GsonRequest هم در کانستراکتور RequestQueue مقدار دهی بشه یا RequestQueue رو حذف کنیم و فقط باید بصورت instance variable بیایم تعریف کنیم ؟ یا جوری دیگه استفاده میشه ؟
اینم کلاس MySingleton :
public class MySingleton {
private static MySingleton instance;
private RequestQueue requestQueue;
private ImageLoader imageLoader;
private static Context context;
private MySingleton(Context context){
this.context = context;
requestQueue = getRequestQueue();
imageLoader = new ImageLoader(requestQueue,
new ImageLoader.ImageCache() {
private final LruCache<String,Bitmap> cache = new LruCache<>(20);
@Nullable
@Override
public Bitmap getBitmap(String url) {
return cache.get(url);
}
@Override
public void putBitmap(String url, Bitmap bitmap) {
cache.put(url,bitmap);
}
});
}
public static synchronized MySingleton getInstance(Context context){
if (instance == null){
instance = new MySingleton(context);
}
return instance;
}
private RequestQueue getRequestQueue() {
if (requestQueue == null){
requestQueue = Volley.newRequestQueue(context.getApplicationContext());
}
return requestQueue;
}
public <T> void addToRequestQueue(Request<T> request){
getRequestQueue().add(request);
}
public ImageLoader getImageLoader(){
return imageLoader;
}
}