Before Starting
To get started with Android you need a good Java base. You can rely on,
To Get Started with Android
Official training materials from Google is available to help you get started :
[ Link here ]
Here are a bunch of courses from Udacity for beginners.
These are the beginners course for the ultimate nanodegree from udacity,
The above courses are prepared in association with Google and the best thing about Udacity is that the resources are free and you only have to pay if you need a certificate.