Most of my Android/ Java programming experience is primarily from looking at source code and documentation from Google searches but I did find a promising online training resource. It’s nice have formal training that lays out the basics from soup to nuts for application developers. Check out : Free Android Training.
They lay out Android’s platform architecture and underlying development concepts along with everything you need to get going with creating powerful applications. Strongly recommended.