I'm not a big fan of Java, I find it too verbose. However, it did give me a break-through in learning some core Object-oriented principles when I was in college.
If you have a firm understanding of Object-oriented Programming and after a few years you feel comfortable with its concepts, learning other OOP languages should be a piece of cake. For instance, I have never worked with Apple's Objective-C but the learning curve wasn't too steep thanks to my previous experience with OOP.
So what is an object? The definition is the same in every OOP language. An object simply holds the information of your app and it can receive messages from other objects. The only difference is how each language has chosen to implement the syntax of working with objects
So if you want to be an Android developer, the best way to start is by taking lessons on OPP and Java. The Android Training website assumes you already have some basic to intermediate knowledge in OOP and the Java API.
I don't have a troll-cave of Java resources but I would say old sensei-google is your most valued player. There is also a cool recent app called Javvy. Enjoy!