Android Jetpack for days
Curated resources to improve your knowledge of Android Jetpack libraries
Welcome to 3rd issue of the Engineering Insights newsletter! Today’s issue is about Android Jetpack libraries.
Android Jetpack is a set of libraries offered by Google to help Android developers build high-quality and robust apps. It provides a collection of components that are built to address common challenges in Android app development, such as managing background tasks, navigation, and lifecycle management.
There are dozens of libraries so I’ll only be covering the most popular ones.
Below you can find many resources grouped by library to improve your knowledge of the Jetpack libraries.
📱 Activity
Improving inter-activity communication with Jetpack ActivityResult
Teaches how to use the new ActivityResult APIs that replaced onActivityResult().
Requesting runtime permissions using new ActivityResult API
We can replace requestPermission() with new RequestPermission contract for requesting single permission at a time or RequestMultiplePermissions contract for requesting multiple permission at a time.
Add support for the predictive back gesture
Android 13 (API level 33) introduces a predictive back gesture for Android devices such as phones, large screens, and foldables. Supporting the predictive back gesture requires updating your app, using the backward compatible
OnBackPressedCallback.
🗏 Paging
Android Jetpack Paging
This essay will discuss some concepts and steps in implementing Paging library for Android developers
Paging 3 — Easier Way to Pagination
Describes how to use the Paging 3 library for pagination.
Pagination in Jetpack Compose with and without Paging 3
Teaches how to use the Jetpack Paging library in you app.
Caching and Pagination with Paging 3 in Android & Jetpack Compose
In this article we’ll be implementing caching and pagination with Paging 3. We’ll use Jetpack Compose but you can also follow this article and learn from it even if you are not going to use Jetpack Compose.
💾 Room
Save data in a local database using Room
Introductory article explaning how to add Room to your app and how to use it to save simple data.
Database Views With Room for Android
In this Android Room tutorial, you’ll learn how to use the Database Views feature of Room to create pre-packaged SELECT statements.
Full Text Search in Room Tutorial
In this Android tutorial, you’ll learn how to implement Full Text Search in Room and use advanced FTS operations, such as ranking search results leading to a great search experience which provide relevant results, is fast, work offline and can handle large amounts of data.
🗺️ Navigation
Migrate from Activities to Fragments w/ Jetpack Navigation
This video demonstrates how to convert from an Activity-based application to a single Activity with Fragments via Jetpack Navigation Components.
Jetpack Navigation Components in Android
Teaches how to use the Jetpack Navigation library to add navigation to your app. Mentions concepts such as graphs, safe arguments and deep link.
⚙️ Hilt
Dependency injection with Hilt
This guide explains the basic concepts of Hilt and its generated containers. It also includes a demonstration of how to bootstrap an existing app to use Hilt.
Use Hilt with other Jetpack libraries
Teaches how to use Hilt with ViewModel, Navigation, Compose and WorkManager.
Create an application CoroutineScope using Hilt
In this article, you’ll learn how to create an application-scoped
CoroutineScope
using Hilt, and how to inject it as a dependency. To further improve the way we work with Coroutines, we’ll see how to inject the differentCoroutineDispatcher
s and replace their implementations in tests.
How Dagger, Hilt and Koin differ under the hood?
In this article, I won’t tell you which one of those libraries to choose. Instead, I want to show you how they are different under the hood and what might be the consequences of those differences for your app.
All about Hilt
This is going to be a long article because I have covered almost everything about Dagger’s Hilt Framework in an interactive way to make everyone understand the concept easily.
This is the 3nd of many issues of my new newsletter aimed at helping you become a better engineer. It’ll be focused on Android/Kotlin but will also have topics that apply to software engineering in general.
Instead of simply sharing the latest news and updates, I've curated a selection of articles/videos that we believe offer unique insights and have the potential to make a significant impact on your work as a developer.
If you like this issue please share and subscribe. See you next time :)
Photo by Richard Horvath on Unsplash.