In the preceding sections we developed a CursorLoader
that loads a list of all available music albums on the system and an AsynTaskLoader
that does a blocking IO operation in the background. Now we are going to use our previous CursorLoader
together with AsyncTaskLoader
which loads a thumbnail from the album ID to create an application that tiles the artwork of all the music albums on the device in a scrollable grid, performing all loading in the background.
Thanks to our CursorLoader
, we already have access to the IDs of the albums we need to load—we're displaying only the album name and album artist—so we just need to pass those IDs to our AlbumArtworkLoader
for it to asynchronously load the image for us.
Our AlbumArtworkLoader
could receive the album ID either on the constructor or later, to load an image for a particular albumId
:
public class AlbumArtworkLoader extends AsyncTaskLoader<Bitmap> { private int mAlbumId = -1; // The album Identifier Bitmap mData...