code: package de.itemis.base;
  
  import java.io.IOException;
  import java.io.InputStream;
  import java.net.MalformedURLException;
  import java.net.URL;
  import java.util.HashMap;
  import java.util.Map;
  
  import android.content.Context;
  import android.graphics.drawable.Drawable;
  
  public class Cache {
  
  	private static Map<String, Drawable> items = new HashMap<String, Drawable>();
  	
  	public static Drawable getDrawable(Context ctx, String url, String saveFilename) {
  		Drawable result = items.get(url);
  		if(result == null) {
  			result = doGetDrawable(ctx, url, saveFilename);
  			items.put(url, result);
  		}
  			
  		return result;
  	}
  	
  	protected static Drawable doGetDrawable(Context ctx, String url, String saveFilename) {
  		try {
  			InputStream is = (InputStream) fetch(url);
  			Drawable d = Drawable.createFromStream(is, "src");
  			return d;
  		} catch (MalformedURLException e) {
  			e.printStackTrace();
  			return null;
  		} catch (IOException e) {
  			e.printStackTrace();
  			return null;
  		}
  	}
  
  	protected static Object fetch(String address) throws MalformedURLException,IOException {
  		URL url = new URL(address);
  		Object content = url.getContent();
  		return content;
  	}
  
  }
  