title: Saving state of gallery images from URL?
body: <p>Ive i have two images from a URL into my gallery view. But when i go to another activity the images are reloaded again from online. I would like to request this once per application instance. How would i go about saving the state of this? </p>
  
  <pre><code>    /** Simple Constructor saving the 'parent' context. */
                  public ImageAdapter(Context c) { this.myContext = c; }
  
                  /** Returns the amount of images we have defined. */
                  public int getCount() { return this.myRemoteImages.length; }
  
                  /* Use the array-Positions as unique IDs */
                  public Object getItem(int position) { return position; }
                  public long getItemId(int position) { return position; }
  
                  /** Returns a new ImageView to
                  * be displayed, depending on
                  * the position passed. */
                  public View getView(int position, View convertView, ViewGroup parent) {
                  ImageView i = new ImageView(this.myContext);
  
                  try {
                                  /* Open a new URL and get the InputStream to load data from it. */
                                  URL aURL = new URL(myRemoteImages[position]);
                                  URLConnection conn = aURL.openConnection();
                                  conn.connect();
                                  InputStream is = conn.getInputStream();  
                                  /* Buffered is always good for a performance plus. */
                                  BufferedInputStream bis = new BufferedInputStream(is);
                                  /* Decode url-data to a bitmap. */
                                  Bitmap bm = BitmapFactory.decodeStream(bis);
                                  bis.close();
                                  is.close();
  
                                  /* Apply the Bitmap to the ImageView that will be returned. */
                                  i.setImageBitmap(bm);
                          } catch (IOException e) {
  
                                  Log.e("DEBUGTAG", "Remtoe Image Exception", e);
                          }
  
                  /* Image should be scaled as width/height are set. */
                  i.setScaleType(ImageView.ScaleType.FIT_CENTER);
                  /* Set the Width/Height of the ImageView. */
                  i.setLayoutParams(new Gallery.LayoutParams(150, 150));
                  return i;
                  }
  
                  /** Returns the size (0.0f to 1.0f) of the views
                  * depending on the 'offset' to the center. */
                  public float getScale(boolean focused, int offset) {
                  /* Formula: 1 / (2 ^ offset) */
                  return Math.max(0, 1.0f / (float)Math.pow(2, Math.abs(offset)));
                  }
                  }
              public class ImageAdapter2 extends BaseAdapter {
                  /** The parent context */
                  private Context myContext;public ImageAdapter2() {
                      // TODO Auto-generated constructor stub
                  }
                  /** URL-Strings to some remote images. */
  
                  private String[] myRemoteImages = {imageUrl2};
  
  
  
  
  
  
                  /** Simple Constructor saving the 'parent' context. */
                  public ImageAdapter2(Context c) { this.myContext = c; }
  
                  /** Returns the amount of images we have defined. */
                  public int getCount() { return this.myRemoteImages.length; }
  
                  /* Use the array-Positions as unique IDs */
                  public Object getItem(int position) { return position; }
                  public long getItemId(int position) { return position; }
  
                  /** Returns a new ImageView to
                  * be displayed, depending on
                  * the position passed. */
                  public View getView(int position, View convertView, ViewGroup parent) {
                  ImageView i = new ImageView(this.myContext);
  
                  try {
                                  /* Open a new URL and get the InputStream to load data from it. */
                                  URL aURL = new URL(myRemoteImages[position]);
                                  URLConnection conn = aURL.openConnection();
                                  conn.connect();
                                  InputStream is = conn.getInputStream();  
                                  /* Buffered is always good for a performance plus. */
                                  BufferedInputStream bis = new BufferedInputStream(is);
                                  /* Decode url-data to a bitmap. */
                                  Bitmap bm = BitmapFactory.decodeStream(bis);
                                  bis.close();
                                  is.close();
  
                                  /* Apply the Bitmap to the ImageView that will be returned. */
                                  i.setImageBitmap(bm);
                          } catch (IOException e) {
  
                                  Log.e("DEBUGTAG", "Remtoe Image Exception", e);
                          }
  
                  /* Image should be scaled as width/height are set. */
                  i.setScaleType(ImageView.ScaleType.FIT_CENTER);
                  /* Set the Width/Height of the ImageView. */
                  i.setLayoutParams(new Gallery.LayoutParams(150, 150));
                  return i;
                  }
  
                  /** Returns the size (0.0f to 1.0f) of the views
                  * depending on the 'offset' to the center. */
                  public float getScale(boolean focused, int offset) {
                  /* Formula: 1 / (2 ^ offset) */
                  return Math.max(0, 1.0f / (float)Math.pow(2, Math.abs(offset)));
  
  
  
  
                  }
  }
  </code></pre>