I use myfitnesspal for food, and but its by no means the best way to log cardio IMO (mind you I still put the cardio in there to help keep a track of daily calories). I swear by my Garmin watch and HRM, so i upload all cardio activities onto the Garmin Connect site, the use of the HRM makes the calorie burn more accurate than just using generic numbers in Myfitnesspal.
For weights I use Fitness buddy for Android. Its pretty good, but I might give some of the others that people have mentioned here a crack as well.