In my opinion, every single person has her / his own way to learn English.
For me, the best way has always been watching films, cartoons, tv shows and certain tv channels like BBC or Sky news. Since I was little I watched cartoon network and despite I didn't understood a word I kept watching and now I see that it was a good thing to do :) About the films, in Portugal none of the films are translated but instead we have subtitles. That is a very good thing due to the fact that when you are younger you can associate the words said do the words on the subtitles (I always learned some new words!) and know I challenge myself by only listening to what they say and not read the subtitles!
The second good way to learn English is to write several times the new words we learn, for instance, when I learned the colours or the numbers or even the name of our clothes, the homework was to write each new word five or ten times!! This definetly helped me a lot!
A third good way to learn and practise our English is to talk with our friends or teacher in class! This way we can practise new vocabulary and at the same time we learn with the mistakes that we might say during our speech. And at the end we always say "I could have said that in a different and better way!".
Next advice is to read a lot, not only books but newspapers and magazines as well! There is so much good and new vocabulary in a book that we have no idea! That's why I try to read in English at every opportunity that I have! Even if I don't understand the meaning of that word, I can understand the meaning of the sentence and by that I can try and guess what that word really means!
Finnaly, the last but not the least, I would recomend all people learning English to go to England, to try to have a conversation with native speakers or even listen to them speak! Go shooping, go to the café, go to dinner, to a movie or even the theatre and you will see that this is for sure the best way to really learn English! You also will have the chance to discover a new culture and v