Пример #1
0
  public static Drawable loadDrawable(
      final String imageUrl, final ImageCallback imageCallback, final Context activity) {
    try {
      // System.out.println(imageUrl);
      Drawable drawable = loadImageFromCache(imageUrl);
      if (drawable != null) {
        Log.d(TAG, "Cache Hit:" + imageUrl);
        imageCallback.imageLoaded(drawable, imageUrl);
        return drawable;
      }
      Log.d(TAG, "Cache Miss:" + imageUrl);

      final Handler handler =
          new Handler() {
            @Override
            public void handleMessage(Message message) {
              if (imageCallback != null)
                imageCallback.imageLoaded((Drawable) message.obj, imageUrl);
            }
          };

      queue.put(
          new Runnable() {
            public void run() {
              Log.d(TAG, "URL loading:" + imageUrl);

              Drawable drawable = loadImageFromUrl(imageUrl, activity);
              Log.d(TAG, "URL Hit:" + imageUrl + ", drawable=" + drawable);
              Message message = handler.obtainMessage(0, drawable);
              handler.sendMessage(message);
            }
          });

      beep();
    } catch (Exception e) {
      e.printStackTrace();
    }
    return null;
  }