Android Database
/Android Database
Zapisuje dane w aplikacji Android w Room, SQLite lub DataStore, z migracjami, wątkami i testami.
- Autor
- a2heng ↗
- Repozytorium
- android-dev-in-android ↗
- Licencja
- MIT
- Ostatnia zmiana repozytorium
- 12.11.2026
Ocena i bezpieczeństwo
- Pliki w paczce
- 1
- Skrypty
- 0
- Komentarze HTML
- 0
- Adresy URL w SKILL.md
- 0
Brak sygnałów. Repozytorium zmienione 12.11.2026, bez odwołań do wycofanych modeli i API.
MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.
Co robi i kiedy
Zapisuje dane w aplikacji Android w Room, SQLite lub DataStore, z migracjami, wątkami i testami.
Oryginalny opis (EN)
Store data on Android with Room, SQLite or DataStore, including schema, migrations, threading and testing. Use when the app needs persistence.
Jak działa
- Choose
- Room setup
- Rules
- Check dependencies
- Debug on device
Podgląd SKILL.md
---
name: Android Database
description: Store data on Android with Room, SQLite or DataStore, including schema, migrations, threading and testing. Use when the app needs persistence.
---
# Android Database
## Choose
- **DataStore (Preferences/Proto)**: small key-value settings, no schema.
- **Room**: relational data, queries, migrations, Flow support.
- **Raw SQLite**: only for tiny cases or existing code; Room is safer.
## Room setup
```groovy
implementation 'androidx.room:room-runtime:2.6.1'
annotationProcessor 'androidx.room:room-compiler:2.6.1'
// Kotlin: use ksp/kapt matching the Kotlin plugin
```
```kotlin
@Entity data class Note(@PrimaryKey(autoGenerate = true) val id: Long = 0, val text: String)
@Dao interface NoteDao {
@Query("SELECT * FROM Note ORDER BY id DESC") fun all(): Flow<List<Note>>
@Insert suspend fun insert(note: Note): Long
@Delete suspend fun delete(note: Note)
}
@Database(entities = [Note::class], version = 1)
abstract class AppDb : RoomDatabase() {
abstract fun notes(): NoteDao
}
```
## Rules
- Never access the database on the main thread.
- Use `suspend`/`Flow`; Room enforces it for queries.
- Every schema change needs a migration or `fallbackToDestructiveMigration`
only for debug builds.
- Export the schema (`room.schemaLocation`) so migrations are reviewable.
- Test with an in-memory database (`Room.inMemoryDatabaseBuilder`).
- Back up/restore is the app's responsibility; `allowBackup` may be disabled
for token-bearing apps.
## Check dependencies
Room artifacts may not be in the offline cache. Check with a small build; if
missing, ask before `OC_BUILD_ONLINE=1`.
## Debug on device
```sh
adb shell run-as com.example.app ls databases
adb shell run-as com.example.app sqlite3 databases/app.db '.tables'
```
Run adb normally; `auto` sends the whole command (including variables) to proot.
`sqlite3` may not be present on the device; do not depend on it for the app.
Wersje
W bazie nie ma innych skilli o nazwie Android Database.
Migawka bazy z 13.11.2026 · wersja paczki c80e478ba514 (skrót SHA-256 całej paczki)
Pobrania w ostatnich 30 dniach: 0 · ranking
Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.
Podobne skille
- 100android-room-database-sqlite-orm
Zapisuje dane offline w aplikacji Android przez typowane DAO i encje Room oraz migracje bazy danych. - 100android-development
Wspiera budowę i przegląd natywnych aplikacji na Androida w Kotlinie i Compose: architektura, trwałość w Room i DataStore, synchronizacja offline oraz programowanie sterowane testami. - 95datastore
Podpowiada, jak zapisywać ustawienia w Jetpack DataStore na Androidzie i KMP: wybór typu, serializery i obsługę uszkodzonych plików. - 100database-management
Wdraża wzorce baz SQLite z interfejsem database.py i pełną izolacją SQL, przy pracy z bazami danych i trwałością danych. - 90database-quick
Pomaga wybrać miejsce na dane między JSON, SQLite, Supabase i Postgresem, a także projektuje schemat, migracje i wyszukiwanie wektorowe dla RAG. - 90rust-persistence
Obsługuje trwałość w aplikacjach Rust na plikach i SQLite: zapisy atomowe, katalogi danych, konfigurację bazy i migracje.