SuperAPI AI Directory

android-architecture

Coding & development

View repository

Updated 10-15 20:08

About this skill

Android Architecture Reference

A skill distilled from the official Android architecture guide (recommended layer structure, ViewModel / Lifecycle, Hilt, Paging 3). Depending on the user's task, read the appropriate README.md and follow it to the individual files.

Directory structure

skills/android-architecture/
  SKILL.md
  references/
    layers/
      README.md
      layers.md
      intro.md
      ui-layer.md
      ui-state-holders.md
      ui-events.md
      ui-state-production.md
      domain-layer.md
      data-layer.md
      offline-first.md
      recommendations.md
      models-and-naming-conventions.md
      modularization.md
      modularization-patterns.md
    lifecycle-viewmodel/
      README.md
      viewmodel.md
      viewmodel-cheatsheet.md
      viewmodel-compose.md
      viewmodel-scoping-apis.md
      viewmodelprovider-factory.md
      viewmodelscope.md
      viewmodelstoreprovider.md
      androidviewmodel.md
      savedstatehandle.md
      saving-ui-state.md
      lifecycle.md
      lifecyclescope.md
      lifecycleowner.md
      defaultlifecycleobserver.md
      lifecycleeventobserver.md
      repeatonlifecycle.md
      flowwithlifecycle.md
      collectasstatewithlifecycle.md
      locallifecycleowner.md
      rememberlifecycleowner.md
      lifecycleeventeffect.md
      lifecyclestarteffect.md
      lifecycleresumeeffect.md
      livedata.md
      mutablelivedata.md
      observeasstate.md
      processlifecycleowner.md
      savedstateregistry.md
    di-hilt/
      README.md
      hilt-android-app.md
      android-entry-point.md
      inject.md
      module-install-in.md
      provides.md
      binds.md
      dagger-basics.md
      hilt-components-scopes.md
      hilt-jetpack.md
      hilt-multi-module.md
      qualifier-named.md
      hilt-view-model.md
      hilt-viewmodel-compose-split.md
      entry-point.md
      hilt-testing.md
      manual-di.md
    paging/
      README.md
      pager.md
      migrate-to-paging-3.md
      pagingconfig.md
      pagingsource.md
      closestitemaroundposition.md
      testpager.md
      pagingdata.md
      remotemediator.md
      loadstate.md
      cachedin.md
      pagingdata-transforms.md
      collectaslazypagingitems.md
      itemkey-itemcontenttype.md
      pagingdataadapter.md

Exploration procedure

Derive the category from the task, and identify the target page in the category's README.md:

  1. Find the category corresponding to the task in the mapping table below
  2. of that category references/{category}/README.md to identify the target page
  3. Read the .md of the relevant page to check the details

Task → Category Mapping

Task Category Reference README
I want to know the recommended structure of the UI / Domain / Data layers layers references/layers/README.md
I want to know the design guidelines for state holder / UI state / UI events layers references/layers/README.md
I want to know the policy for offline-first and modularization layers references/layers/README.md
I want to use ViewModel / viewModelScope / SavedStateHandle lifecycle-viewmodel references/lifecycle-viewmodel/README.md
I want to handle the lifecycle with Lifecycle / repeatOnLifecycle / collectAsStateWithLifecycle lifecycle-viewmodel references/lifecycle-viewmodel/README.md
I want to observe data with LiveData / observeAsState lifecycle-viewmodel references/lifecycle-viewmodel/README.md
I want to design DI using annotations, components, and scopes with Hilt di-hilt references/di-hilt/README.md
I want to know how to write HiltViewModel / EntryPoint / Hilt tests di-hilt references/di-hilt/README.md
I want to implement paging processing with Pager / PagingSource / RemoteMediator paging references/paging/README.md
I want to display a paging list with collectAsLazyPagingItems / PagingDataAdapter paging references/paging/README.md

Room / DataStore are handled by android-data, WorkManager / coroutines by android-background-work, and screen navigation by android-navigation.