Apr 7 · 7 min read · There's a reflexive tendency in Android development to pick one persistence library and apply it everywhere. You chose Room, so everything goes in Room. You liked DataStore, so now your user preferenc
Join discussion
Jan 19 · 5 min read · This small Android app demonstrates a clean, modern stack:Jetpack Compose for UI, Room for local persistence, and Hilt for dependency injection.The code is compact and organized into Application, data(Room), repository, ViewModel, and Compose UI laye...
Join discussion
Dec 13, 2025 · 31 min read · Android development can feel overwhelming. You have to learn a new language (Kotlin), a new UI framework (Compose), and a dozen architectural patterns. Whether you are a beginner trying to understand why we write code this way, or a developer preppin...
Join discussion
Nov 1, 2025 · 7 min read · Now we will remove the fake repository that we used in the ViewModel and the composable. The MainActivity also took support of the fake repository to show us that the Domain and Data layers are healthy. Let us now introduce Hilt Dependency Injection....
Join discussionOct 31, 2025 · 7 min read · In this chapter, we will test how data is fetched, stored, and mapped between the data and domain layers. We will test these components for the GetArtUseCase ArtEntity - Room database table ArtDao - database access functions Mappers - convert betw...
Join discussionOct 27, 2025 · 5 min read · The use case GetArtUseCase is the first use case we will code. This use case will fetch a list of images from the Room DB locally. This list will help us to carve out the first screen displayed to the end user. The screen composable will be coded in ...
Join discussionOct 27, 2025 · 4 min read · The ArtSnap App We are building an ArtSnap App, a lightweight and modular art collection platform where a user can: View a list of artworks stored locally in the database. Add new artwork details, including name, artist, year, and image. Search im...
Join discussionAug 20, 2025 · 3 min read · WAL vs Normal (DELETE/TRUNCATE) journal modes in SQLite/Room, specifically for read/write behavior. 🔹 1. Normal mode (DELETE / TRUNCATE journal) When SQLite is in DELETE or TRUNCATE mode: Write path: Copy the database into a temporary journal fil...
Join discussion