I spent about 10 days in Spain over Christmas 2001. (4 in Barcelona, the rest in Cullera) Basically, the further south you go, the cheaper it is to live. In Barcelona, I would recommend seeing the some of Gaudi's archetecture while you are there- it is incredible, even if achetecture isn't your greatest interest. You will see his work on postcards everwhere- a enormous, intricate cathedral .. . a very unique building that looks like it is dissolving right before your very eyes . . .. Also, remember it is an Olympic city, so seeing where they were held may not be a bad idea, too. There is good shopping there too- Barcelonians have great fashion-sense. There is SOOO much to do there. If you have time, spend at least a week.
Barcelona is a pretty safe place. I had no problems when I was there, and people are pretty friendly.
It does help if you speak Spanish, though, because I didn't run into many people who spoke English.
A man did approach us and offer free cover and a first free drink at his disco (bar) when we were there, though we didn't take him up on it. I later found out that often they do that and then once you're in break it to you that there is a 3-drink requirement . . .. or something like that. So beware of that. You may plan on buying at least three drinks, though, so maybe you won't mind . . . BTW, their beer is fairly strong.
If you go, stay in the old town, as it is less expensive, though not too glamourous, always . . .. People might just walk up to you in the Barcelona train staion and offer you a place to stay. We did that and stayed in a pension, which is like renting a room in someone's appartment. The "owners" let us use their kitchen and fridge and the showers were shared among all the people who were staying there, and were cleaned daily. We spent most of our time outside of the pension, though, so our accomodations weren't a big deal to us . . .. It cost us roughly C$20 per night (That is about 2000 pestas, which is their old, now obsolete, currency). And it was very central.
Have fun in Spain!