I learned Mandarin while in university. In fact, it's one of my majors. But, to be honest, I didn't learn anything until I moved to Shanghai and actually lived in it. I used every opportunity I had to speak and talk with any strangers or friends. It also helped that most of the girls I dated couldn't speak English, so therefore I just had to learn.
My point is this: You have to put yourself in the environment and surround yourself with it. I'm not sure where you lived, but I lived in a red light district. How did I know it was? Cause all of the "hair washing" places were girls in short shorts during the winter time sitting in the windows coaxing you to come in. All of my neighbors were Chinese and didn't speak any English. I almost never spoke English.
Now, I'm living in HK. The temptation to speak English is too great and most local people can speak excellent English so the life skills and need just isn't there as when you're living in Mainland. But, you can still find several of these kind of local places and so forth. You just have to force yourself to speak it and use it and if someone replies to you back in English, just tell them 你唔郫面。同我講廣東話。 Means, you don't give me any face. Speak to me in Cantonese. This will force them to feel social pressure to talk in Cantonese to you. Just abuse every minute of it as you can, even if you're tired.
Also, one other tip: If you want to learn a new word, then use it all the time, throughout the day. Has helped me numerous times to learn new words and phrases. Sorry for the lengthy response, but have a lot to say about this topic.