RSSAmplifier

Blog

Joe Birch

Speaker, Educator and GDE for Android

joebirch.coRSS feed ↗10 posts

Latest posts

Practical Kotlin Multiplatform: Implementing the Firebase Sign-up Operation with Ktor

This post is part four of a series adapted from Practical KMP, my book on building production Kotlin Multiplatform apps for Android and iOS. Part two built the authentication remote store and modelled its response. Implementing the Sign-up Endpoint Now that we ve created the models for receiving back an authentication response, it s time for us... Continue reading

Practical Kotlin Multiplatform: Creating the Firebase Auth Remote Store with Ktor

This post is part two of a series adapted from Practical KMP, my book on building production Kotlin Multiplatform apps for Android and iOS. If you missed it, part one covered setting up the shared networking module. Introduction With our shared module now set up, we have the foundations that we need to start building... Continue reading

Practical Kotlin Multiplatform: Setting up the Kotlin Multiplatform Networking Module with Ktor

This post is part one of a series adapted from Practical KMP, my book on building production Kotlin Multiplatform apps for Android and iOS. Part 1: Creating the Kotlin Multiplatform Module In this part of the book, we’ll build the complete authentication remote store, defining a repository that handles every operation our app needs for... Continue reading

Building a Responsive Tab Row in Jetpack Compose

When working with tabs in Jetpack Compose, we have two options available to us out of the box the TabRow and the ScrollableTabRow. The TabRow provides us with a fixed-width row where each tab where the available width is split equally between each of the tabs, while the ScrollableTabRow provides a horizontally scrollable row... Continue reading

Exploring Jetpack Compose: ButtonGroup

As part of the Material 3 Expressive update, Google has introduced a collection of new components designed to bring more personality and interactivity to Android apps. One of these components is the ButtonGroup which allows us to display a collection of buttons in a horizontal arrangement, offering built-in support for animations and overflow handling. In... Continue reading

8 steps to success with Gemini in Android Studio

AI tooling is becoming a key part of our day-to-day and now with solid Gemini support in Android Studio, we re seeing engineers embed this deeper in their workflows. When they work well, AI Agents can help us to work more efficiently and give us more time to focus on other tasks. But when they don t... Continue reading

Exploring Material 3 for Compose: Floating Action Button Menu

When it comes to providing users with quick access to multiple related actions, we need to be mindful of the screen estate that we are using on mobile devices this can often be a challenge. In many cases, a single FloatingActionButton might not be enough to accommodate all the actions we want to expose... Continue reading

Exploring Navigation 3 for Jetpack Compose

When working with Navigation in modern Android apps, we ve utilised navigation graphs through the navigation libraries. While the move to compose made things simpler, we still needed to work with navigation graphs and work with complex approaches that were carried over from the original navigation libraries. Navigation 3 aims to simplify the task of adding... Continue reading

Exploring Material 3 for Compose: Large Top App Bar

In the last post, we took a look into the new Loading Indicator in the Material 3 expressive package. As we continue to dive into different parts of Material 3 we ll discover more components that we can plug into our apps. Up next we have the LargeTopAppBar this composable brings dynamic, scroll-responsive navigation to... Continue reading

Material 3 Expressive for Compose: Loading Indicator

Alongside this years Google I/O announcements, Material 3 Expressive was released to offer a way for apps to become more individual and break out of the constraints that the original Material Design principles had created. With Material 3 expressive, our apps not only get the chance to stand out from one another, but also allow... Continue reading