Book Image

Mastering Android Application Development

By : Antonio Pachon
Book Image

Mastering Android Application Development

By: Antonio Pachon

Overview of this book

There are millions of Android apps out there for people to download – how do you make sure yours has the edge? It’s not always about innovation and ideas – the most successful apps are those that are able to satisfy customer demands – they’re the ones that look the best, the fastest, and the easiest and most intuitive to use. This book shows you how to create Android applications that do precisely that – it has been designed help you consider and answer those questions throughout the development process, so you can create applications that stand out against the crowd. Learn how to create exemplary UIs that contribute to a satisfying user experience through the lens of Material Design, and explore how to harness the range of features within the Android SDK to help you. Dive deeper into complex programming concepts and discover how to leverage concurrency and navigate memory management and image handling. You’ll also find further guidance on testing and debugging so you can guarantee that your application is reliable and robust for users. Beyond this you’ll find out how to extend your app and add greater functionality, including notifications, location services, adverts and app billing (essential if you want to properly monetize your creation!). To make sure you have confidence at every stage in the process, the book also shows you how to release your app to the Play store – to make sure your maximising your efforts to create a popular Android application!
Table of Contents (19 chapters)
Mastering Android Application Development
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Concurrency in Android


If you are an Android user, you are probably aware of ANR messages. It might not ring a bell for you, so take a look at the following image:

Activity Not Responding (ANR) happens when there is code running in the UI or main thread that blocks user interaction for more than 5 seconds.

In Android, an application runs a single thread, called the User Interface thread. We will explain what a thread is in a way that even readers with no programming background will understand. We can visualize a thread as a column of instructions or messages executed by the CPU. These instructions come from different places; they come from our application as well as the OS. This thread is used to handle the response from the user, lifecycle methods, and system callbacks.

The CPU processes messages sequentially, one after another; if it's busy, the message will wait in a queue to be executed. Therefore, if we perform long operations in our application and send many messages to the CPU, we will...