Mobile systems such as smartphones require accurate estimation of the battery-related features including the remaining energy and operating time, especially as the the power consumption of user applications is growing continuously these days. We present an energy-aware smartphone application design framework that considers the battery's state of charge (SOC), energy depletion rate, as well as the service quality of the target application. We use a verified-accurate battery energy estimation method in an Android-OS-based mobile computing system. The battery model considers the rate-capacity effect. We apply regression-based models for the power estimation of the major subsystems in the smartphone, and then aggregate the result to yield the whole system's power. We first determine the quality of service for the location device (GPS), the display device (LCD), and the overall system (application). Then, we control the error rate of the GPS and the brightness of the display to acquire the maximum service quality of the system for a given car trip. We show the advantage of the proposed method with a case study of a trip. In this case, the smartphone guides a user's car trip using its GPS navigation capabilities; to do this, we propose an adaptive algorithm that exploits our improved SOC estimation and considers the car's variable velocity. This proposed adaptive power and service quality control of the GPS application improves the quality of service in this example case and ensures there is enough remaining battery for the trip to be completed. In contrast, conventional approaches to this task provide a lower quality of service and run out of battery before the trip finishes. In conclusion, if a trip plan is provided, an application using our method delivers the maximum quality of service, such as system endurance time, location error, and display brightness.