I'm building an Android app which connects to an Amazon RDS DB via a Node.js server.
My DB includes a certain table of items. Each row in this table includes the item's id, a name, a short description, and a link to an image. Whenever the user opens up the app, the first thing they see, is this data in card views.
My question(s) is this: What is the correct approach to load images (and other data)? Do I just load it again and again each time the user opens up the app? Do I somehow cache it, so the images won't have to be downloaded again next time? And if I cache the images, what happens if the content of the url changes, and now contains a different image? do I check for checksum, download, and cache the image again? And what about the rest of the data? If it's a text, do I just load it each time the user opens up the app?
Also, what is the best way to perform the download itself? Do I use a Loader? an AsyncTask? Some other type of threading? I'm new to multi-threaded programming so any info would help here. Thanks!