Haha, I'm actually writing some Java right now for an Android plugin, and I hate it!
The best way to start? Exactly what you are doing! I know it sounds cheesy, but the best way to learn in my opinion is to have a cool idea in mind (something sort of realistic though), and just set out to build it. You'll hit a ton of walls, make tons of mistakes, write terrible code, but with every mistake and wall, you'll be forced to learn.
You also made a good decision of coming to these forums for help, though don't fall into the mistake I see often which is asking people to feed you the code. You won't learn that way and in the end, it will make you more confused. The only way to learn is to just do it yourself and make the mistakes, but then understand WHY it was a mistake.
When I first started learning Angular, I had no idea what I was doing haha. I just knew Angular was a great framework and I decided I wanted to write Angular apps. So I came up with an idea for a site and just started. You can actually see the code and all my mistakes here:
https://github.com/DaDanny/WebTNT
It was a simple site and didn't do anything impressive, but what I ended up turning the site into was just a sandbox for me to learn and make mistakes. I didn't care if it was ugly because only I would ever see it.
I made a folder in the app called "tasks" and in it were just readme files, outlining tasks I was working on for the site, and any research or learning that helped me out. I would literally read through tutorials and blogs, and take notes, then go implement it and take more notes on what I was doing.
It really helped me out in the end, and while its not much code wise, its probably one of the best projects I ever did. I recommend doing something similar. Don't give a crap if you make mistakes, you're learning right now. Just keep coding, keep building, keep dreaming and eventually you'll be working on your own startup as head of engineering
Good luck!