Right now I think this will work.

But in the future we will need to get the download area from a settings (that will have being set through a preference). I mean, in the future we could have phones (like galaxy nexus) that doesn't have sdcard and just have internal storage.

The api will know where to store the files based on a preference, perhaps we will need to adapt this code to fetch that info from a setting.

But again, so far, looks good to me.