Android Persistence Standards
Priority: P0
1. Configure Room Database
- Return
Flow<List<T>>for queries, usesuspendfor Write/Insert. - Keep
@Entitydata classes simple. Map to Domain models in Repository. - Use
@Transactionfor multi-table queries (Relations).
See DAO templates for Room DAO patterns.
2. Migrate to DataStore
- Replace
SharedPreferenceswithProtoDataStore(type-safe) orPreferencesDataStore. - Inject singleton DataStore instance via Hilt.
See DAO templates for DataStore migration patterns.
Anti-Patterns
- No IO on Main Thread: Room handles dispatchers, but verify Flow is collected off-main.
- No @Entity in UI Layer: Map to Domain or UI models in Repository.