At some point, we need to decide whether to add local high score list, global high score list, both of them, or none at all.
I myself prefer to add both local and global high score list, as the local high score list can give the player a record of their progress on mastering the game, and the global high score list gives the competitive feeling to the player.
For creating local high score list, we can use the SQLite included in the Android SDK for our database.
The tutorial for how to use and implement SQLite into our game can be found on the AndEngine forum, and I found that the solution by "Radzell" is easier to understand and implement.
For creating global high score list, there are many options available, such as ScoreNinja, OpenFeint, or Scoreloop.
This is an easy, simple and straight to the point global high score list. If you just want a fast implementation of a high score list without any other features, you should consider using this.
By using OpenFeint, you can add the "social" element to your game. You can have high score list (with photo), achievement list, friends list, your games list. OpenFeint has a huge player base, perhaps bigger than Scoreloop.
Scoreloop is a little bit like OpenFeint, but has many other advantages. Scoreloop can do whatever OpenFeint can do, plus you can post your score to Facebook, Twitter, and MySpace, and you can get your game featured on their "Social Market".
You can also have challenges, to challenge your friend or any other player playing the same Scoreloop game.
Scoreloop also provides a virtual currency system, if you want to do in-app transaction.
For my game "Cave Escape", I use Scoreloop for reasons I mentioned before, but mainly because I want to be able to post my score on Facebook.