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

Creating MasteringAndroidApp


Now that we've seen the main features of the latest Android version, we can introduce the app that we are going to develop during the book. This app will include most of these features, but we will also spend time in the components widely used in previous Android versions.

To master Android, we should be prepared to understand legacy code; for instance, we might have to work on an app that still uses ListView instead of RecyclerView, which is new. We will not always create apps from scratch with the latest components, especially if we are professional Android developers. Also, looking at previous components will help us understand the natural evolution of these components to have a better idea of how they are now.

We will start creating this app totally from scratch, starting with the initial design, having a look at the most used design and navigation patterns in Android, such as tabs at the top, a sliding menu on the left side, and so on.

The app that we will develop, MasteringAndroidApp, is one with server-side interaction. This app will show information that is stored in the cloud, and we will create the cloud component, making our app communicate with it. The topic we have chosen for the app is a job listing board, where we will create job offers on the server side, and the users of the app can read these offers and receive notifications.

You can easily customize the topic; this will be an example where you can change the information and create your own app with the same structure. In fact, it's better if you think of your own idea because we will discuss how to publish the app in Play Store and how to monetize it; we will add adverts, which will generate revenue when the users click on it. So, if you apply what you learn using your idea, by the time you finish the book, you will have an app ready to be distributed.

We will develop the app explaining the programming patterns that are most used in Android as well as concurrency techniques and different methods to connect to rest APIs or servers.

We'll not only be focusing on the backend, but also on the UI; by displaying the information in an efficient way, using lists and grids, downloading images from the Internet, and customizing fonts and views with the latest material design features.

We will learn the mechanism for debugging our apps, managing logs, and consider the memory usage while learning how to identify and prevent memory leaks.

Our app will have an offline mode based on a database, where we will store the content from the cloud. So, if the mobile loses connection, we can still show the information available when we were last online.

To complete our app, we will add extra features such as push notifications, crash reports, and analytics.

To finish, we will see how the Android build system works, exporting our app in different versions as well as obfuscating the code to protect it and prevent decompiling.

We have compressed a huge amount of information that will help you to master Android by the end of the book; however, before starting with our app, let's get the tools ready.