I think different people learn in different ways. Some can just pick up language when they are immersed in it. Others, like me, need to study. I worked at an Indian restaurant for a year, where I was constantly immersed in Punjabi, but I hardly learned a thing. On the other hand, I studied Spanish for many years, and found that the more I studied, the more I was able to say when in a real life situation. (Of course, Spanish is a bit easier than Punjabi.) ;)

I like to study by myself, but I know not everybody does. You may wish to take a class or get a tutor, or just participate a lot in forums where people are eager to correct your mistakes. ;) I am actually living in Malta at the moment, and many people come here to study English. I've asked students if they find the classes useful, and what I find is that, if they already have a good foundation, they seem to learn a lot in class, whereas pure beginners tend to struggle a lot.