Przejdź do treści
Biblioteka skilli
Programowanie · Budowanie i kod

Android Database

/Android Database

Zapisuje dane w aplikacji Android w Room, SQLite lub DataStore, z migracjami, wątkami i testami.

Licencja
MIT
Ostatnia zmiana repozytorium
12.11.2026

Ocena i bezpieczeństwo

90/ 100Klasa: dobry
Format15 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
1
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 12.11.2026, bez odwołań do wycofanych modeli i API.

Licencja

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

  1. Choose
  2. Room setup
  3. Rules
  4. Check dependencies
  5. Debug on device
Sekcje z nagłówków SKILL.md, w oryginale · 59 linii, 242 słów
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.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.