2016-08-31 2 views
0

В основном я использовал залп в основном для JSONObject. следующий был мой singletonAndroid volley singleton для JSON и изображение

package com.simha.yatras; 

import android.app.Application; 

import com.android.volley.Request; 
import com.android.volley.RequestQueue; 
import com.android.volley.toolbox.Volley; 

public class MyApplication extends Application { 

    private RequestQueue mRequestQueue; 
    private static MyApplication mInstance; 

    @Override 
    public void onCreate() { 
     super.onCreate(); 
     mInstance = this; 
    } 

    public static synchronized MyApplication getInstance() { 
     return mInstance; 
    } 

    public RequestQueue getReqQueue() { 
     if (mRequestQueue == null) { 
      mRequestQueue = Volley.newRequestQueue(getApplicationContext()); 
     } 

     return mRequestQueue; 
    } 

    public <T> void addToReqQueue(Request<T> req, String tag) { 

     getReqQueue().add(req); 
    } 

    public <T> void addToReqQueue(Request<T> req) { 

     getReqQueue().add(req); 
    } 

    public void cancelPendingReq(Object tag) { 
     if (mRequestQueue != null) { 
      mRequestQueue.cancelAll(tag); 
     } 
    } 
} 

Теперь я хочу использовать залп для растрового изображения imagerequest. Я хочу, чтобы изображения были кэшированы, поэтому мне не нужно загружать их каждый раз.

Так что должен быть синглтонным кодом.

ответ

0

Вы можете использовать Volley обеспечивают ImageRequest класс:

ImageView mImageView; 
String url = "http://i.imgur.com/7spzG.png"; 
mImageView = (ImageView) findViewById(R.id.myImage); 

// Retrieves an image specified by the URL, displays it in the UI. 
ImageRequest request = new ImageRequest(url, 
new Response.Listener<Bitmap>() { 
    @Override 
    public void onResponse(Bitmap bitmap) { 
     mImageView.setImageBitmap(bitmap); 
    } 
}, 0, 0, null, 
    new Response.ErrorListener() { 
    public void onErrorResponse(VolleyError error) { 
     mImageView.setImageResource(R.drawable.image_load_error); 
    } 
    }); 
// Access the RequestQueue through your singleton class. 
MySingleton.getInstance(this).addToRequestQueue(request);## Heading ##