Was your battery hooked up the entire time this truck was sitting? I'm betting that you have corrosion on the battery terminals, and probably corrosion build up in the + lead to your starter.
The fact that all your accessories work fine says to me that the battery isn't the culprit.
To verify battery & alternator condition without taking it to autozone/advanced/wherever, place a volt meter across the terminals on the battery. With engine off, should read 12.6v. If the voltage is too low, attempt to charge the battery, with vehicle power cables disconnected (to ensure no parasitic losses). If the battery, after receiving a proper charge, still does not hold 12.6v, it is bad. With engine on, should read 13.5-14.25v. Anything less than 13.5v should be considered a warning sign for a bad, or going bad, alternator. After taking initial reading (engine on) turn on *every* electrical accessory you can think of, including the headlights (set to high beam). Voltage reading should STILL be 13.5-14.25v.
Now, assuming that your battery checks out as okay, and your alternator is also working to standard, time to check voltage at the starter. With the engine off, place the + lead on the volt meter on the + terminal (large lug) of the starter motor. Connect the - lead to the - terminal of the battery. Compare this voltage reading to the voltage reading you took at the battery directly - if there is more than .3v difference, you've significantly narrowed down your problem. Could either be a bad cable to the starter, or bad grounding.
I'll continue, assuming this to be the case.
Place the negative lead of your volt meter on the + lead at the battery. Place the + lead on the + terminal at the starter. *any* voltage measurement here indicates the voltage lost due to resistance of the cable itself. A reading of .1 volt or higher indicates a problem that should be addressed. Start by ensuring clean terminals/connections at both ends. If that doesn't eliminate the voltage reading, replace the starter cable due to high resistance.
If no issues with the starter cable are indicated in the previous tests, it is time to test the continuity of the grounding system.
To do this, you will need an ohm meter.
First, connect both leads of the ohm meter together, and note the reading. This is the internal resistance of the wires used for the meter itself. Should be practically zero. If analog ohm meter, no movement of the needle should be noted.
connect one end of your ohm meter to the negative terminal of your battery, and the other to the engine block. reading should be 0.00, +- .05 ohms. Frankly, if you get a noticeable measurement here, you've found your problem- time to start physically inspecting the various ground points on your engine- engine-to-firewall, engine-to-frame, etc. Any one of these could be the culprit.
If you don't own a volt/ohm meter, do yourself a favor and get one. Seriously, at less than $15 for a workable model, there's no excuse NOT to have one.