Haven't used Acceleration before but sounds like a cool idea.
If I was you I would start by setting up a basic app that displays the acceleration.Z (Up and down) in a label and Acc.Y (forward and back). Then go for a quick walk and keep an eye on which way the numbers are going, and where they start when the app first loads. That should give you an idea of when you should 'record a step'.
Next, you'd also need something to keep looping to check what the values are of Z & Y. if the loop checks and the value is higher than the limit you have set for a 'step', then get it to update a variable or something. A timer could handle the looping every 0.5 seconds or so, and an if statement on the timer to check if the values fall inside/outside your range.
My guess is it wouldn't be super accurate, but it's a good start. To make it more accurate, potentially get the timer to loop much quicker, every 0.1 seconds. and save the current Acc.Y to a variable. if the new value is higher than the previous value then you'd save it as a 'step'.
You could use Lat/Long, but then you'd have to do some step averaging based on the distance someone has walked. e.g. 1 step every 1.2 metres or something.