公共类CustomVolleyRequestQueue {
private static CustomVolleyRequestQueue mInstance;
private static Context mCtx;
private RequestQueue mRequestQueue;
private ImageLoader mImageLoader;
private CustomVolleyRequestQueue(Context context) {
mCtx = context;
mRequestQueue = getRequestQueue();
mImageLoader = new ImageLoader(mRequestQueue,
new ImageLoader.ImageCache() {
private final LruCache<String, Bitmap>
cache = new LruCache<String, Bitmap>(20);
@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 CustomVolleyRequestQueue getInstance(Context context) {
if (mInstance == null) {
mInstance = new CustomVolleyRequestQueue(context);
}
return mInstance;
}
public RequestQueue getRequestQueue() {
if (mRequestQueue == null) {
Cache cache = new DiskBasedCache(mCtx.getCacheDir(), 10 * 1024 * 1024);
Network network = new BasicNetwork(new HurlStack());
mRequestQueue = new RequestQueue(cache, network);
// Don't forget to start the volley request queue
mRequestQueue.start();
}
return mRequestQueue;
}
public ImageLoader getImageLoader() {
return mImageLoader;
}
}
公共类CreateNotificationActivity扩展AppCompatActivity {
private NetworkImageView mNetworkImageView;
private ImageLoader mImageLoader;
Bitmap bit;
String url = "http://www.whitegadget.com/attachments/pc-wallpapers/145032d1392006652-nature-wallpaper-nature-picture.jpg";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_create_notification);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
mNetworkImageView = (NetworkImageView) findViewById(R.id.networkImageView1);
//bit = BitmapFactory.decodeResource(getResources(), R.drawable.bgd);
//Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.bgd);
mImageLoader = CustomVolleyRequestQueue.getInstance(this.getApplicationContext())
.getImageLoader();
Bitmap bitmap =mImageLoader.get(url, ImageLoader.getImageListener(mNetworkImageView,
R.mipmap.ic_launcher, R.drawable.icon)).getBitmap();
Button btn = (Button) findViewById(R.id.button1);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
createNotification();
}
});
}
@Override
protected void onStart() {
super.onStart();
mImageLoader = CustomVolleyRequestQueue.getInstance(this.getApplicationContext())
.getImageLoader();
bit =mImageLoader.get(url, ImageLoader.getImageListener(mNetworkImageView,
R.mipmap.ic_launcher, R.drawable.icon)).getBitmap();
}
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
public void createNotification()
{
bit = BitmapFactory.decodeResource(getResources(), R.drawable.bgd);
mImageLoader.get(url, new ImageLoader.ImageListener() {
@Override
public void onResponse(ImageLoader.ImageContainer imageContainer, boolean b) {
bit =mImageLoader.get(url, ImageLoader.getImageListener(mNetworkImageView,
R.mipmap.ic_launcher, android.R.drawable
.ic_dialog_alert)).getBitmap();
Intent intent = new Intent(getApplicationContext(),NotificationReceiverActivity.class);
PendingIntent pIntent = PendingIntent.getActivity(getApplicationContext(), (int) System.currentTimeMillis(), intent, 0);
Notification noti = new Notification.Builder(getApplicationContext())
.setContentTitle("Mail Notification")
.setContentText("5 new unread messages")
.setSmallIcon(R.drawable.bgd)
.setStyle(new Notification.BigPictureStyle().bigPicture(bit))
.setAutoCancel(true)
.setContentIntent(pIntent).build();
NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
noti.flags |= Notification.FLAG_AUTO_CANCEL;
notificationManager.notify(0,noti);
Log.i("LOG>>>>>>>>>>>>>>>>>>>","inside the on response");
}
@Override
public void onErrorResponse(VolleyError volleyError) {
bit = BitmapFactory.decodeResource(getResources(), R.drawable.bgd);
Log.i("LOG>>>>>>>>>>>>>>>>>>>","inside the errror response");
}
});
//位= mImageLoader.get(URL,ImageLoader.getImageListener(mNetworkImageView, // R.mipmap.ic_launcher,android.R.drawable // .ic_dialog_alert))getBitmap();
}
}
你在哪里初始化'imageLoader'变量? – Michael 2015-01-21 11:42:33