How would you go about learning to program on Android?  I'm interested in developing mobile apps.  The grand plan is to eventually become competent enough to program custom mobile business applications.

I'm tempted to start with HTML 5, CSS 3, and Javascript (The books on Amazon about portable mobile programming tend to start and stop here.)

Then the Android flavor of Java.

Android OS 

Android OS internals

Objective-C or C++.  I'm leaning toward Objective-C first.

Is that reasonable?