A skill distilled from the official Android app development (Kotlin) data layer documentation. Depending on the user's task, read the appropriate README.md and follow it to the individual files.
Directory structure
skills/android-data/
SKILL.md
references/
room/
README.md
entity.md
primary-key.md
column-info.md
ignore.md
embedded.md
foreign-key.md
dao.md
query.md
insert.md
update.md
delete.md
upsert.md
transaction.md
database.md
room-database-builder.md
callback-driver.md
migration.md
type-converter.md
relation.md
fts-database-view.md
async-queries.md
testing.md
datastore/
README.md
datastore.md
datastore-factory.md
preferences-datastore.md
preferences.md
preferences-keys.md
edit.md
proto-datastore.md
data-migration.md
shared-preferences-migration.md
corruption-handler.md
files-storage/
README.md
storage-overview.md
app-specific-storage.md
internal-file-io.md
shared-preferences.md
auto-backup.md
mediastore.md
storage-access-framework.md
photo-picker.md
embedded-photo-picker.md
file-provider.md
uri-permissions.md
blobstore-manager.md
scoped-storage.md
cache-management.md
activity-result-contracts-files.md
assets.md
network/
README.md
permissions-and-threading.md
network-security-config.md
connectivitymanager.md
networkcapabilities.md
network-callback.md
data-saver.md
downloadmanager.md
cronet.md
cronet-urlrequest.md
cronet-okhttp-interceptor.md
retrofit.md
okhttp.md
okhttp-websocket.md
kotlinx-serialization-converter.md
httpurlconnection.md
caching-and-retry.md
Exploration procedure
Derive the category from the task, and identify the target page in the category's README.md:
- Find the category corresponding to the task in the mapping table below
- of that category
references/{category}/README.mdRefer to to identify the target page - Read the
.mdof the relevant page to check the details
Task → Category Mapping
| Task | Category | Reference README |
|---|---|---|
| Want to define Entity / Dao / Database with Room | room | references/room/README.md |
| Want to write SQL operations with @Query / @Insert / @Update / @Delete / @Upsert | room | references/room/README.md |
| Want to change the schema with Room's Migration / AutoMigration | room | references/room/README.md |
| Want to handle related data and full-text search with @Relation / @Fts4 / @DatabaseView | room | references/room/README.md |
| Want to persist key-value and typed data with Preferences DataStore / Proto DataStore | datastore | references/datastore/README.md |
| Want to migrate from SharedPreferences to DataStore | datastore | references/datastore/README.md |
| Want to save and read files in internal/external storage | files-storage | references/files-storage/README.md |
| Want to handle media files with MediaStore / Storage Access Framework / Photo Picker | files-storage | references/files-storage/README.md |
| Want to share files with other apps with FileProvider | files-storage | references/files-storage/README.md |
| Want to check the constraints of scoped storage and MANAGE_EXTERNAL_STORAGE | files-storage | references/files-storage/README.md |
| Want to monitor network status with ConnectivityManager | network | references/network/README.md |
| Want to configure communication policies with Network Security Config | network | references/network/README.md |
| Want to implement HTTP communication with Retrofit / OkHttp / Cronet | network | references/network/README.md |
Paging 3 は android-architecture、WorkManager は android-background-work, runtime permissions are android-platform-core is in charge of.