Firewall prevents people really from seeing data so your very safe with a firewall
This is not at all what a firewall is for. Encryption is to keep people from seeing data. A firewall is to keep unused ports (incoming or outbound) closed so hackers and bunk programs can't use them for malacious purposes. It is to be used as a first line of defense, not an only line of defense.
Think of it as a lock on your front door. Yes, it makes you feel good knowing it's locked. People may not be able to use the handle to get in. But if someone wants in bad enough, that lock isn't gonna stop them. Thats when you have a triggered shotgun blowing off their head when they crawl through the window (other security measures). Never rely on only one method of protection.
As for the actual question, there are a couple things you can do to protect yourself when accessing a public wireless network. I recommend using a regular user name, not your administrator account. The user account should use a secure, complex password; Microsoft complexity requirements usually defaults to at least 7 characters, this should be a combination of uppercase, lowercase, numbers, and special characters. Next, when connected to the public network, I would turn off everything on your network adapter except for the TCP/IP protocol and adapter (if present). This will turn off File and Print Sharing and disable the Client for Microsoft networks. On the advanced button in the adapter properties, go to the WINS tab and "Disable NetBIOS over TCP/IP". Last but not least, a firewall would be useful if you configure it to deny ALL incoming connections that weren't initiated from your computer. You can allow all outbound if you want.