If your goal is to create a real-world Android app and learn the issues that every professional developer has to address, this is the book for you.
The continuous evolution of the Android platform, and the multitude of libraries available for it, make implementing a real-world Android app challenging. You need to choose between different architectures and structures for your code, then implement them in a way that allows you to quickly adapt to changing requirements.
At the same time, your app needs an appealing UI that makes your users happy. Animations are an important tool to make the UI smoother and more intuitive.
Then you have other important aspects to think about, which the user might not see, but which are fundamental for your app’s success. The most important of these is security. You need to protect your user’s data and keep hackers out of your app.
Finally, you need to debug your app and check that everything works as expected. You need tools to log any errors, then you need to triage them and make a plan to fix them. Knowing the right tools for each problem allows you to waste no time creating a fix.
How to read this book
The book has different sections for each area you need to master to implement a real-world Android app. Throughout the book, you’ll get hands-on experience by working on the PetSave app.
PetSave requires a key you’ll need to copy when you start each chapter, as explained in Chapter 1, “Introduction”.
This book is split into five main sections:
Section I: Developing Real-World Apps
In this section, you’ll learn how to design and implement PetSave as an example of a professional real-world app. You’ll learn how to choose the right architectural pattern and how to structure the code to make the app more testable and maintainable.
Section II: Modularizing Your App
As you add new features to your app, the code becomes more complex and difficult to maintain. In this section, you’ll learn how to split your app into different modules. In particular, you’ll learn how to use the dynamic feature option, which optimizes the size of the code your users have to download to use your app.
Section III: Enhancing Your UI
Here, you’ll learn how to enhance the user interface of your app with animation that you can create and customize. You’ll use the new Animation Editor, found in recent versions of Android Studio.
Section IV: Securing Your App
In this section, you’ll learn how to handle security from different points of view. You’ll learn how to protect user data and how to securely connect to a server. Finally, you’ll learn how to make hackers’ lives more difficult, by using different methods to protect your code and your data.
Section V: Maintaining Your App
Publishing a real-world app is not the end of your work. In this section, you’ll learn everything you need to know about maintaining and controlling your app after it’s published and available to users. After reading this section, you’ll be ready to use all the available tools for improving your app’s quality.