I have found reading to be the best way to build vocabulary when learning a foreign language. It amazes me how many words I still remember from all the books I read in Spanish and French when I was in college and grad school. No doubt it's because I learned the words in context and didn't just memorize them from a list. But be careful not to pick a book that's too far above your reading comprehension level. You'll just get bogged down and stop reading. Also, don't worry about looking up every word you don't know. The idea is to keep reading and getting the main ideas. After you've read a book for a while, it begins to get easier to understand. In addition to reading, if you're traveling to the country where your target language is spoken, take a journal with you and jot down words and phrases you hear spoken or see on signs. Then, when you are back in the hotel at night resting, pull them out and study them for a few minutes.