Phleg is right,
1). The only way to get over learning curves is to experiment as much as you can and as frequently as you can.
2). A bonus is to always keep your knowledge refreshed (Even on things you THINK you remember).
3). Get your knowledge from trustworthy sources... (For example: Don't watch youtube videos of hobbyist and then be like "Thats how i do it".... their code is relevant to their program not yours...)
3.A). Lets say your making a simple calculator based application, dont go around the internet asking "How to make a calculator?"
Instead ask about the Functionality, Ask the internet and other sources about how to make a Window, make a TextFeild, make Buttons and how to use math operations etc.
After you learn about the small snippets of 'functionality' you need, you should be able to think of a way to build the calculator yourself. (AND LEARN FROM IT!)