All Posts
-
#40 PermissionFlow: A Reactive API for knowing the status of Android app permissions
Introduction to PermissionFlow: A reactive API for Android that simplifies tracking permission status changes using Kotlin Coroutines and Flow.
-
#39 Simplifying Redux in Kotlin: "mutating" immutable states with Mutekt
Simplify state management in Kotlin with Mutekt. Learn how to write 'mutating' syntax for immutable states in Redux-like architectures.
-
#38 Mastering Android App Performance: Analyzing Bottlenecks with Perfetto 🚦
Master Android app performance profiling with Perfetto. Learn how to identify and fix UI janks and bottlenecks using system tracing.
-
#37 Leveraging the Snapshot Mutation Policies of Jetpack Compose
Understand Snapshot Mutation Policies in Jetpack Compose. Learn how to control when and how your UI recomposes based on state changes.
-
#36 ViewModel: for UI business, not UI operations 😮
Stop misusing ViewModels! Learn why ViewModels should handle UI business logic, not UI operations like showing toasts or navigation.
-
#35 Exploring "select" expression of Kotlin coroutines
Learn how to use the 'select' expression in Kotlin Coroutines to await multiple suspending functions and select the first one that completes.
-
#34 Combining StateFlows and transforming it into a StateFlow
Master the art of combining multiple StateFlows into a single transformed StateFlow. Explore utilities and best practices for managing complex states in Kotlin.
-
#33 Leveraging the Semaphore concept in Coroutines to limit the parallelism 🔀
Explore the concept of Semaphores in Kotlin Coroutines. Learn how to limit parallelism and manage resource access in concurrent programming.
-
#32 Promise compose compiler and imply when you'll change 🤞
Understand the Compose compiler's stability promises. Learn how @Stable and @Immutable impact recomposition and how to help the compiler optimize your UI.
-
#31 Automate library publishing to Maven Central with GitHub Actions Workflow Dispatch 🤖
Step-by-step guide to automating JVM library publishing to Maven Central using GitHub Actions and Workflow Dispatch for one-click releases.
-
#30 Filtering and modifying text input in Jetpack Compose way
Learn how to filter and modify user text input in Jetpack Compose. A guide to implementing input constraints and formatting for TextField.
-
#29 Navigating Screens in Jetpack Compose (DevFest India 2021 - Mobile Track)
Recap and resources from my DevFest India 2021 talk on Navigating Screens in Jetpack Compose. Learn the best practices for Compose navigation.
-
#28 🙅♂️ Don't let ViewModel know about framework level dependencies
Explore best practices for Android ViewModels. Learn why keeping framework references out of ViewModels is crucial for testing and preventing memory leaks.
-
#27 Observing Live connectivity status in Jetpack Compose way!
Learn how to observe live network connectivity status in Jetpack Compose. A reactive approach to handling internet availability in your Android app's UI.
-
#26 Composing composable in the Text line with InlineTextContent in Jetpack Compose
Learn how to use InlineTextContent in Jetpack Compose to embed Composables directly within text lines for rich, interactive text experiences.
-
#25 Providing AssistedInject supported ViewModel for Composable using Hilt
Learn how to provide Hilt ViewModels with AssistedInject to Jetpack Compose Composables for dynamic dependency injection with runtime parameters.
-
#24 Don't let Kotlin's single-expression function ruin your business😲
Understand why relying on Kotlin's automatic type inference in single-expression functions can lead to subtle bugs and business logic failures.
-
#23 Hide internal members of Kotlin Module from JVM 🔐
Learn how to properly hide internal Kotlin members from JVM to maintain a clean API for Java consumers when developing libraries.
-
#22 Let your delegates auto-nullify references☠️
Learn how to use Kotlin property delegates to automatically nullify references in Android, preventing memory leaks in Fragments and Activities.
-
#21 👨🍳 Cooking Tasty code in Kotlin 🍴 — Part 2
Part 2 of 'Cooking Tasty Code'. Dive deeper into Kotlin features like delegation, operator overloading, and more to enhance your coding style.