In addition to the fabulous & spot-on responses here... I would suggest:
That BEFORE you go anywhere, or have to do anything (no matter what situation), that you give your son a head's-up and a warning...ie: In 10 minutes we have to leave, so be ready to get your things.... or, in 10 minutes we have to get in the car, please choose which shoes/jacket you want to wear. Or, In 10 minutes we need to put away, can you help Mommy?
*Teach him that you are all a "Team." And tell him he can be the "leader" sometimes... and "help" Mommy... kids like feeling like they are the "leader" sometimes, and it teaches them skills/socialization/empathy/kindness/sharing etc. It's all about "role playing" and pretend play...it has a valuable role in teaching kids about "responsibility" and how to express themselves.
Kids NEED warning and head's-up about what is coming up. It is called "transitioning" your child (from one thing to the next)... it helps them. NO child likes to be just told at the spur of the moment "okay pack up we're leaving now...hurry up..." or, "Get your shoes on now, and this jacket..."
Also, choose your battles... really. For instance, I see nothing wrong with him wanting a Straw for his ice-cream. To me, that's no big deal- what I would have done is (so that he can learn) is to give him the straw. AND I would also get a spoon and tons of napkins so that "I" would be prepared.... and then IF he then wanted a spoon, you'd be prepared. No problem. The thing is... a child especially at this age, likes to "choose" some things for themselves. NOTHING wrong with it. They in fact, need to do this... as a part of their development. It teaches them (1) 'problem solving' (2) self confidence (3) the ability to discern (4) respect from his Parents and for himself, and a myriad of other things.
As for putting on his shoes and jacket. If that were me... I would simply LET him grab the shoes and jacket he wanted. (I always give my kids at their age a choice between 2 items). BUT, if he still threw a tantrum about it... then I would (1) grab the shoes and jacket myself & stuff it in a tote bag. (2) then tell my son that we are leaving NOW, even without his shoes/jacket (3) then I would proceed to get into the car & put him into it as well, sans jacket and shoes (4) THEN... if he starts whining/screaming about it in the car... I would then CALMLY "teach" him that this is what happens when he fights about it. (BUT, you would already be prepared and have his shoes/jacket in the car with you, so no worries.
The thing is, 3 years old is a hard age, almost harder than 2 years old... so you need to bear that in mind. At this age, they are still "baby" but then the whole world expects them to act "Grown up" and they aren't. Thus, misconceptions occur, about them.
I suggest the book "Your 3 Year Old" which you can get from www.amazon.com Its a fast easy read and simply describes what a child is like at each age-set and how a Parent can understand THEM.
The poor little guy... he's experiencing SO SO many emotions right now, and at this age, little kids do NOT have "coping skills" nor the fortitude to "explain" themselves.... so we need to help understand them... that's all they need. He's crying out for someone to understand him. Heck, even Adults don't have "proper" coping-skills either sometimes, right? So, we have to align our "expectations" of a child, in light of their age and abilities. Not only per what WE expect.
Next, watching TV most of the day and only playing blocks and cars is not enough for a child at this age. Boys are very kinesthetic, and NEED physical movement and play. Can he go out...just you and he, go to the park, go run around, do painting, catch bugs in a bug bottle, paint an empty box, let him create things, have conversations (kids love talking and exploring with a parent who 'listens'), OR... can he go to Preschool 2-3 times a week? This might really help him, and to make new friends too.... your Son is biting and losing interest in doing those things because (1) he is not happy (2) he is frustrated (3) he is bored (4) he has no outlets to expend his energy (5) he has no "choice" in how his day goes and what he does. (6) He is not a "part" of anything yet...ie: he does not have his own life or activities or routines, besides watching tv. (7) He NEEDS a "routine" and to know what to expect. Kids need this. Have a kind of routine/schedule for him everyday....that way, he can look forward to something and be excited, and to KNOW that there will be fun/relief for him each day.
Here are some links for play groups in your area:
http://www.meetup.com/cities/us/ca/valencia/groups/family...
http://parents.meetup.com/1032/members/
http://eventful.com/valencia_ca/events/categories/family_...
http://parents.meetup.com/1032/
http://www.santaclaritaguide.com/MomsClubs.html
All the best,
Susan