Since you have a foundation in c++, you will find Java to be very easy in comparison. (I also learned c++ first and then Java much later in life). For this project, you won't need to get too deep into Java anyway, since you'll be writing most of it in c++, and only using a little Java for the front-end. I'll find you some good resources when I get home from work this evening if I have some free time. In the mean time, you could just start by googling "beginner's guide to Java" "Java getting started", etc. There are a lot of good "getting started" type of tutorials all over the web.
The main thing you'll find difficult at first is the concept of Objects. In Java, when you say something like "a = b;", then a ACTUALLY equals b, not a copy of b (so if you change b's members, a's are affected as well). This behavior is true for anything extending an Object (which is most things), but not native types like "int", "float", "boolean", etc (those behave the same as in c++). One you get that concept down, the rest will be easy.
The other basic concepts you'll want to learn are static versus dynamic, hierarchy (extending), and interfaces. Once you have those, you will probably have enough knowledge to start right into some of the Android example programs. If you want to get further into the weeds with Java first, I'd recommend Oracles "Java Tutorials", on their website. Those will go way deeper than you need, but might be good practice to solidify the language for you. Another good concept to learn eventually is Threads and synchronization (this is done way differently in Java than in c++), but for this project you probably won't be dealing with multiple threads on the Java side anyway. (Just good knowledge to have for the future).