Uploading fresh images to application?
What would be the best way to show different images to applications in android?
For example... I have a gallery that shows different images. i would like to change these images weekly. Right now i am using this...
public class ImageAdapter extends BaseAdapter {
/** The parent context */
private Context myContext;
/** URL-Strings to some remote images. */
private String[] myRemoteImages = {
"https://sites.google.com/site/theitrangers/images/modern_warfare_3_21027.jpg"
""
};
/** 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 bitma开发者_Go百科p. */
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;
}
public float getScale(boolean focused, int offset) {
/* Formula: 1 / (2 ^ offset) */
return Math.max(0, 1.0f / (float)Math.pow(2, Math.abs(offset)));
}
}
}
So here in this example i am using a URL to get the image from. The only problem is i would have upgrade the application each time i wanted to use a new image.Correct? What would be the best way for me to accomplish this?
What I would do is have a server-side script sitting on a web server which would tell your app what images to show.
Every time you load the program you can query (HTTP GET) this script (you can use PHP, or any other CGI) which will return you the latest images. You could return the whole image directly, or just the URL for the application to load into it's image frame.
very simple answer: You could instead point the link to a static URL on a server you control (a free tier ec2 server would be perfect for this), and when you want to change the image, you can just overwrite the file the URL points to.
Also hotlinking is frowned upon because someone else is paying for your apps bandwidth usage
精彩评论