Announcing Our Newest Book — Real-World Android by Tutorials!

Take your Android skills to the next level and get solutions to the hard, real-world problems you face every day as an Android developer in our newest book, Real-World Android by Tutorials! By Chris Belanger.

Save for later

Ever since its inception, Android development has been known for being just as frustrating, as it is fun! Developing Android apps involves not only juggling an ever-changing framework, but also handling interesting and challenging design decisions.

With such a large, continuously mutating ecosystem, developing even the simplest of features can feel overwhelming for beginners — and, sometimes, even for advanced developers. Professional Android developers need to know about a wide array of subjects to build apps effectively.

That’s why we’re really excited to announce that our newest book, Real-World Android by Tutorials, is now out today! It’s designed to go beyond the basics, and, as the name implies, give you practical solutions to the real-world problems faced by developers every day.

Keep reading to see what’s inside, and how you can get your copy today!

What is Real-World Android by Tutorials?

Real-World Android by Tutorials is designed to go beyond the code and understand why you’re writing it in the first place. This book doesn’t simply cover the basics at the problem’s surface, or give high-level descriptions of the simplest use cases.

Rather, it aims to share with you some of the knowledge that developers acquire over time, while developing real-world apps. You’ll see how to solve real-world problems by following real-world best practices and techniques that you can only acquire by rolling up your sleeves and working through the problem yourself.

The book focuses not only on why should you do things a specific way, but also on the corresponding advantages, trade-offs and drawbacks of that solution. It makes it clear when a certain decision is not ideal, explaining the reasoning behind discarding a choice or going through with it anyway.

As you go through the content, you might notice that some of it is opinionated; you might even disagree with some of the statements. That’s good! As a developer, it’s only natural for you to question other developers’ decisions. You might even see some problems that others completely missed.

On the other hand, if you agree with everything and don’t see any problems, that’s fine too! What’s important here is for you to go through the roller coaster ride that is Android, with all is ups and downs, just like developers do in the real world.

Who is this Book For?

This book is useful for developers of all levels. Some of the content assumes prior knowledge of complex topics, like RxJava and Dagger, and is more tailored to intermediate or advanced developers. But there’s plenty of content suitable for less-experienced developers as well.

A large part of the book’s focus is around the reasons why developers prefer specific solutions. This usually boils down to software design principles, architectural considerations or tidbits of wisdom acquired through experience. In these cases, everyone can benefit from this information — no matter how far along you are in your Android career.

What’s Inside Real-World Android by Tutorials?

This book covers a lot of topics. You’ll build features in scalable ways, modularize your app, handle animations, styles, themes and other elements of the UI with ease, secure your apps in a responsible manner, plan for maintenance and aftercare of your app, and so much more.

It does all of this by showing you practical solutions that lead to the desired results. Yet, the idea here is much more than that. Of course, you can study the implementation details if you want, but that’s not the main point. Instead of reasoning about how to write code, you should instead focus on why you write it that way.

Real-World Android by Tutorials takes you from beginner to expert over 22 massive chapters, spanning five 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 testable and maintainable.

Gather real-world strategies as you tackle complex issues under the hood of your apps.

To make your app easier to change, it’s a good practice to define different layers with specific responsibilities. In particular, you’ll learn how to design and implement the domain layer for the PerSave app. You’ll also see how to access the network efficiently, by implementing the repository pattern in the data layer.

At the end of this section, you’ll have a clear idea about how to structure the code of your app.

  1. Introduction: The Android platform is more than 10 years old and the number of frameworks, libraries and tools you can use to develop your app are countless. This book covers the technologies and practices you need to follow in the real world if you want to create a successful Android app.
  2. Starting from the Beginning: Building Android apps isn’t just a matter of writing code. You also need to use the best architecture and structure your files in a way that makes it easy to apply changes. Keeping high cohesion and low coupling is just one of the main principles you’ll learn in this chapter, where you’ll start working on the PetSave app.
  3. Domain Layer: The domain layer is a collection of entity objects and related business logic, designed to represent the business model of any app. Here, you’ll learn what a domain layer is and how to create a good one. You’ll see the differences between entity and value objects along with the advantages of using the repository abstraction. Finally, you’ll test the domain logic of your app.
  4. Data Layer — Network: Every useful app allows users to access information that’s either stored locally or fetched from the network. This is what a data layer helps you do. In this chapter, you’ll learn what the data layer is and what choices you have when you need one. You’ll be introduced to the repository pattern and learn how to implement it from the design to the testing phase.
  5. Data Layer — Caching: Most apps access data from the network, which introduces different kinds of problems, like latency and connectivity costs. To improve performance and reduce costs, it’s a good practice to store data locally. Therefore, you need to implement the repository pattern as a cache or simple local store. In this chapter, you’ll learn how to implement and test the repository pattern in the PetSave app using Room and Hilt.
  6. Building Features — Animals Near You: PetSave allows users to find animals close to them based on certain criteria. There are several architectural design patterns you can use to create this feature. Here, you’ll use ModelViewViewModel (MVVM) to implement the “Animals Near You” feature. You’ll also have the opportunity to learn how to use fundamental libraries like LiveData, ViewModel and ViewBinding.
  7. Building Features — Search: PetSave’s main feature is to let you search for pets based on certain criteria. In this chapter, you’ll use a top-down approach to implement the search, from defining the UI to fetching the data.
Chris Belanger


Chris Belanger


Over 300 content creators. Join our team.