Do dobrego programowania na Androida potrzebna jest przede wszystkim Java, ale również całe Androidowe SDK.
Bez znajomości javy i ogólnych koncepcji programowania nie napiszesz żadnych bardziej złożonych aplikacji, bo rozłożysz się na implementacji chociażby backgroundowych wątków typu AsyncTask.
Z kolei bez znajomości SDK, nic tak na dobrą sprawę nie napiszesz oprócz samych javowych metod.
Prawidłowa nauka programowania na Androida to Java + SDK, czyli po prostu, postawienie sobie celu, aplikacji o konkretnej funkcjonalności X, a następnie programowanie jej kawałek po kawałku, aż do osiągnięcia celu.