Love Spotify, I use it all the time.You can create a playlist or have an album as a playlist that you can play when you have an internet connection only but you can also download the music you want to then play in 'ofline' mode which you can listen to any time with or without internet connection.
I use Google play music. Similar sort of deal but it fills your phone memory with songs it thinks you might like. It's a clever bit of software.