I’ve found that project-based learning works really well for me. That was how I learned Android, and that’s how Udacity tends to teach as well.
So I’m certainly a bit biased towards Udacity (I was a student AND now work there), but I do think their Android Basics by Google program is a great starting point when starting out with Android for the first time
All the courses in that program are available for free as well
If you already are familiar with Java & programming, then the Android Developer Nanodegree program might be a better starting point because it will move more quickly
Again, I believe all the courses are available for free
Beyond Udacity, Google has a training page with a lot of great resources
I highly recommend the Big Nerd Ranch as well. They do an awesome job.