Issue #641

September 22nd, 2024
Articles & Tutorials
Sponsored
Embed a reliable document scanner with OCR in your app, enabling your customers to capture high-quality, legible documents that you can process effortlessly. Hundreds of companies and millions of users trust the Genius Scan technology. Supports Android, iOS, and cross-platform frameworks.
Waqas Younis considers why you should try to make each suspend function cancelable in lifecycle dependent environment like Android.
Alex Styl introduces the Composables Core Bottom Sheets – a unstyled Bottom Sheet component you can customize to your heart's content and build any kind of sheet you need for your apps.
Sponsored
Bouncing back and forth between tools, chasing down marketing for copy and stakeholders for sign-offs, clicking around gingerly in Play Console… productivity, happiness, and general sanity suffer. Learn what makes mobile releases a silent killer and how Runway can help.
Stephen Siapno shares some diagrams to illustrate how Kotlin Multiplatform can be integrated into various architectures.
Ivan Dimitrov writes about simplifying integrating JaCoCo with AGP 8.5.
Nav Singh explores the new library introduced under AndroidX called PdfViewer.
Go inside the compiler with a tool called Compiler Explorer and witness some of Google's Android runtime optimizations in action.
Eevis Panula summarizes the "Is This App Accessible? A Live Testing Demo" talk and add some things missing from the Droidcon Berlin presentation.
Victor Brandalise takes a look a couple new language features added to Kotlin 2.0.
Shreyas Patil walks through an important discussion everyone should have while working with Exceptions/Errors in Kotlin.
Thomas Künneth continues the series on digital assistants, this time looking at what it takes to become a digital assistant on Android.
Donovan LaDuke lays out a mental model for choosing the right approach for fixed spacing situations that make the intent clear while improving long term maintainability.
Jaewoong Eum aims to clear up (hopefully most of) any doubts about that initial load scenario in Jetpack Compose by addressing the questions one by one.
Place a sponsored post
We reach out to more than 80k Android developers around the world, every week, through our email newsletter and social media channels. Advertise your Android development course!
Libraries & Code
Enhance Compose Multiplatform with "rememberRetained{}", inspired by Circuit.
News
Version 1.3 of the Compose Material 3 Components is here and with it come a few changes for Material Components and theming!
Google announced updates to the Google Photos APIs, making it easier for users to securely share their photos and for developers to integrate with Google Photos.
Videos & Podcasts
Charfaoui Younes begins the refactoring challenge by introducing the Kata and adding the necessary setup and tests to ensure the best possible refactoring experience!
Stevdza-San shows how to obtain Android Context in a KMP project with Koin.
Balázs Gerlei aims to help with securing WebViews while also highlighting security issues that lurk in those seemingly simple yet quite complex APIs.
Dave Leeds looks at: Multi-cursor Magic • Kotlin Roadmap Updates • Navigation without Arrow Keys.
Nevin Mital looks at Jetpack Media3, the APIs offered by Transformer, and lastly, how to incrementally start including Transformer in an app without needing to replace the entire editing pipeline.
Philipp Lackner goes over three approaches to load initial data on a screen on Android, specifically, LaunchedEffect, ViewModel init and a third lesser known approach.
In this live stream recording, Adam McNeilly tries recreating the UI of the home screen of the AllTrails application!
Daniel Atitienei shows how to make different types of requests such as POST, CREATE, UPDATE, and DELETE, and also covers how to add headers, queries, and custom paths to requests.
Specials
This month marks Eugene Petrenko's 20th anniversary at JetBrains – a journey that has taken him from a student developer to leading the IDE Services department.