I know Java since it was introduced in 1996 and had experience targeting J2ME, so learning Android wasn't that complicated to me.
I own a few PacktPub books that I like, namely:
https://www.packtpub.com/application-development/asynchronou...
https://www.packtpub.com/application-development/android-app...
https://www.packtpub.com/application-development/android-dat...
https://www.packtpub.com/application-development/android-ui-...
I don't know that book, so I cannot judge it, but it is important to try to use your interests as an idea for a possible app that you could use as learning process.
If you stay on Java side than using something like LibGDX will help on the game programing ideas. Or if you prefer to jump into the "wonders" of NDK, then something like SDL or Cocos2D-x.
For the Xamarin side, have you read the Petzold book?
https://blogs.msdn.microsoft.com/microsoft_press/2016/03/31/...
Regarding about using wanted programming languages, my experience with Turbo Pascal, Delphi, Oberon, Smalltalk and many other languages is that straying away from the true path of OS SDK supported languages usually ends in pain as the productivity gains get wasted battling interoperability issues, lack of tool support from the OS vendor and writing FFI bindings.
So nowadays although I dabble in lot of languages, for production code I only use the OS SDK supported languages.