Is there any technique through which I can calculate the heartbeat of a person using Android device.
I researched it and found some results in which they implemented it using camera.
I suppose in order to measure heartbeat you have 3 choices:
1. Use the camera as has been implemented in some applications already. I've tried one of these and it wasn't great!
I don't know exactly how this would be implemented but I'm guessing that as blood is pumped through the body, the skin changes colour slightly. The camera would be able to detect these changes and work out the pulse (i.e. the time between each pulse).
2. Use the microphone. However I'm not sure if it would be sensitive enough. You'd have to find a way to filter out background noise and pick up just the required signal.
Using the microphone you'd have to work out how to filter out background noise signals and detect only the sound of the pulse. The microphone would need to be held near to the heart or somewhere where the movement of blood made enough noise to be detected. You'd then need to work out what that noise sounds like and detect it using some sort of audio signal processing. Then count the time between each pulse to get the pulse rate. Here's an example of such an app in action: http://www.bbc.co.uk/news/11145583
3. Use the motion detection hardware. However I very much doubt this would be sensitive enough to pick up the movement caused by the beat of the heart!
Apart from that you'd need to have some sort of external sensor - a chest strap or similar. You can get heart rate monitors which transmit Bluetooth so one of these might work.
Hope this helps!