I am an American living in Germany. I learned German in Bavaria by speaking with people.
The German language is interesting. There is the school form (Hoch Deutsch) that everyone learns and then there is the dialect-form that people use to communicate with each other. In Bavaria the dialect is called Bayrisch (Bairisch) and it is quite different from German.
I suppose every question asked on this site has at least two answers. The first answer is how is the question answered in Hoch-Deutsch. The second answer is how do people speak and communicate in their local area. That second answer could very a lot depending on whether someone lives in Köln or in München. For the USA, it would be difficult to imagine that people in N. California would speak so drastically different from people in S. California that the dialects would sometimes have different names for common objects, extra regional dictionaries and literature written exclusively in that dialect. For München and Köln, that's exactly how it is.
I would say that all Germans are bi-lingual. They all speak German as a second language. Their mother language is whatever dialect is spoken in their home town.
In conclusion, I would like to add that I really like the German language. It is difficult to learn and the dialect variations make the difficulty even harder, but it definitely worth the effort. Don't give up. :)