Before Starting

To get started with Android you need a good Java base. You can rely on,

  1. Head First Java

  2. Introduction to java on Udacity

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.