Books to read.

Hi,
What knowledge of java is needed to start developing a java 2d platformer with libgdx? I know the basics, variables,loops arrays, methods,parameters,arguments,switch etc I have a foundation in java. I would like to firstly develop a game for desktop and then port it to android and after that I code again the game in objective C and get it to app store.I have chose Java because It will work on all pc’s and even on android the only not supported is windows phone,iphone and xbox360.

Thankyou