Android & Kotlin

Android Fundamentals by Tutorials

Build Android apps with Kotlin & Jetpack Compose using robust architecture patterns. By Fuad Kamal, Ricardo Costeira & Kevin D Moore.

Read for Free with the Personal Plan* * Includes this and all other books in our online library See all benefits
Buy Individually $59.99* *Includes access to all of our online reading features.
Leave a rating/review
Download materials
Buy paperback—Amazon Comments
Save for later

Who is this for?

This book is for those new to the Android platform, or junior Android developers looking to get a wider grasp of what all Android has to offer.

Covered concepts

  • Android Studio
  • Kotlin
  • Jetpack Compose
  • Architecture
  • Model View ViewModel
  • Model View Intent
  • Networking
  • Storage
  • RoomDB
  • DataStore
  • Encryption

In this book, you’ll learn how to build Android applications from scratch using Android Studio as the IDE. You’ll learn the basics of Kotlin and how to build elegant UI with Jetpack Compose. You’ll expand on the basics by making robust and scalable apps using well-established architecture patterns.


Before You Begin

This section tells you a few things you need to know before you get started, such as what you’ll need for hardware and software, where to find the project files for this book, and more.

Section I: Introduction to Android Development

In this section, you’ll learn about the fundamentals of Android and Kotlin, the language that powers the platform. This section will walk you through setting up Android Studio and building your first app: Kodeco Chat. You’ll also learn about Gradle, Android’s build tool and how to structure app projects to use some of Gradle’s powerful dependency management features.

Toggle description
Welcome! This chapter will briefly cover what you'll learn in this book and introduce you to the Android framework and Kotlin language.
To begin creating that killer Android App, you’ll need some guidance on installing the tools you’ll need as a young apprentice. Android development takes place inside Android Studio, a customized IDE based on IntelliJ Platform that gives you powerful tools.
Toggle description
This chapter provides a brief overview of the Android life cycle, the previous iteration of Android UI building blocks and the details of the various components that form an Android project.
In this chapter, you'll learn how Gradle scripts work, how to manage dependencies with Version Catalogs and how to sign your app.

Section II: Building a Robust Android App

Now that you have the Android development basics down, it’s time to take a deeper dive! In Section II, you’ll learn all about Android’s new UI toolkit: Jetpack Compose. As you learn about Compose, you’ll continue to iterate and build a more UI-rich Kodeco Chat application, complete with custom UI message components.

As you progress through this section, you’ll also learn about more advanced architecture patterns like MVVM and MVI and how you can organize and structure your code to use them. Good architecture allows you to scale up your project with minimal changes to your codebase.

Finally, toward the end of the section, you’ll start on a new Recipe Finder that dives into fetching data from an API and rendering that data onscreen.

Toggle description
In this chapter, you'll learn the basics of Compose UI and build a simple Android app UI with it.
Toggle description
In this chapter, you'll learn how to make your app much more functional using ViewModel, MVI and Navigation.
Toggle description
Learn about and implement the repository architecture pattern and use the Ditto SDK to complete the Kodeco Chat app.
Toggle description
This chapter will teach you how to retrieve data from the internet and store it in model classes, which you'll use to display recipes in the app.

Section III: Data Management

By this point, you’ve learned about Android development in Kotlin and applied that knowledge to building a couple robust applications already. In Section III, you’ll go one step further, continuing on the Recipe Finder app to provide more feature improvements, like offline mode. You’ll learn about the different methods of data storage, including DataStore and RoomDB, and how each can be used in your apps.

Last but not least, you’ll learn about some advanced storage techniques like file access and securely encrypting the data you store.

Toggle description
This chapter will teach you how to store small bits of data locally for saving user's preferences.
Toggle description
This chapter will teach you how to save recipes and ingredients from the recipe app to a local database using Room.
Toggle description
This chapter will teach you how to encrypt data in your preferences and databases.