The best way to learn any language (the grammar and how to speak directly) is by living, studying, working in the country (or countries) where that language is spoken. Barring that, a study program that involves speaking and listening to the language as you learn (immersion-type), especially in a small-group setting (so you're not just listening and speaking to one person, as in a 1-1 individual lesson). You need to _receive_ the language from a variety of inputs (videos, dvds, cds, books; music, tv news and other programming, movies, radio programs) and to _produce_ the language, beginning with social language and (hopefully, even if you just want to "get by" in a language) culminating in a more academic language. To produce the language if you're not living and working/studying in an environment where it is mainstream, Skype and creating animations or games, greeting cards, etc. are great ways!