
You can build some cool stuff without having much in depth knowledge (there are tons of step-by-step projects for Arduino/RaspberryPi just a Google away).
If you're the type that doesn't mind hunkering down and reading textbooks, I'd suggest Electric Circuits (Nilsson and Riedel) paired with Fundamentals of Microelectronics (Razavi).
In later classes we used this book, which I see in the bookshelves of my coworkers: http://www.amazon.com/Microelectronic-Circuits-Electrical-Co...
If you want to learn more basic concepts, I'd recommend looking perhaps for a class in your area to audit, or possibly mit ocw might have something.
I will say the following though:
1) many folks in industry get to a point to where they rarely, if not never sit down on paper and do node-voltage analysis. They eventually get a conceptual "feel" for everything and work in simulation environments (matlab, spice, etc.). The best way to get here is to do the conceptual exercises on paper first, then play with a simulator afterwards.
2) designing basic analog circuits can be learned from textbooks, but doing more "active" things like building a switching power supply requires more specific books.