I second Waistline, I use it daily for calorie tracking and once you initially set up your foods its great. Sometimes, I have had to edit the name to be something easily searchable instead of the name openfoodfacts returns. As well, some foods are way easier to measure if you use the 'per 100g' setting when setting up the food. After doing that, then change the names/other attributes, because changing to 'per 100g' overwrites the existing record.
For workouts I keep it simple and use GymRoutines from F-Droid.