Learning Android Application Programming: A Hands-On Guide to Building Android Applications