This is just the beginning
Creating an application is only part of the process. Publishing and selling is another. This is, of course, outside the scope of this book but handling fragmentation and testing compatibility with various target devices can be a real difficulty that needs to be taken seriously.
Beware! Problems start occurring when you start dealing with hardware specificities (and there are lots of them) like we saw with input devices. These issues are, however, not specific to the NDK. If incompatibilities exist in a Java application, then the native code will not do better. Handling various screen sizes, loading appropriately-sized resources, and adapting to device capabilities are things that you will eventually need to deal with. However, that should be manageable.
In short, there are a lot of marvelous but also painful surprises to be discovered. However, Android and mobility are still a fallow land that needs to be modeled. Look at the evolution of Android from its earliest...