For the several facets of the game, you may use different apps. I include them all on the comments, since I'm not allowed to post them here.
Tactics: This very important part of the game can be trained by the already mentioned app "Tactics Trainer". I'm a daily user, and it's excellent.
Openings: The best app I can think of in this area is "Chess Repertoire". The app is excellent, with a nice clean design and with more opening positions that you'll need. It even has space for personal annotations and novelties. The sole drawback is that only the first moves are free, and you've to pay for the rest of it.
Endgame: I've been recommended "Chess Endings", which is not free, and cannot say much about it. You may try it.
Casual play: I strongly suggest the Chess.com app. You have a few additional tactics problems, but the interesting thing is the correspondence and live chess, playing whenever you feel.
Analysis: With abysmal difference, the best analysis tool you can possess for a mobile device is "Scid". It is beautiful, the pieces are shown clearly, there's space for the game score and admits an engine. It also allows you to export games to .pgn and many more things. Priceless, but open source and free.
Despite it comes with an engine by default, Stockfish, downloadable from here, can be compiled into any Linux device, and it's certainly the best option if you possess an Android.