Agent Skills: Kotlin Android Skill

Modern Android development - Jetpack, Compose, Architecture Components

androidkotlinjetpack-composearchitecture-componentsmodern-android
developmentID: pluginagentmarketplace/custom-plugin-kotlin/kotlin-android

Skill Files

Browse the full folder contents for kotlin-android.

Download Skill

Loading file tree…

skills/kotlin-android/SKILL.md

Skill Metadata

Name
kotlin-android
Description
Modern Android development - Jetpack, Compose, Architecture Components

Kotlin Android Skill

Production-ready Android development with Jetpack libraries.

Topics Covered

MVVM Pattern

@HiltViewModel
class UserViewModel @Inject constructor(
    private val repository: UserRepository
) : ViewModel() {
    private val _uiState = MutableStateFlow(UiState())
    val uiState = _uiState.asStateFlow()

    fun load() = viewModelScope.launch {
        _uiState.update { it.copy(isLoading = true) }
        repository.getUsers()
            .onSuccess { users -> _uiState.update { it.copy(users = users, isLoading = false) } }
    }
}

Compose UI

@Composable
fun UserScreen(viewModel: UserViewModel = hiltViewModel()) {
    val state by viewModel.uiState.collectAsStateWithLifecycle()
    UserContent(state)
}

Type-Safe Navigation

@Serializable
data class ProfileRoute(val userId: String)

composable<ProfileRoute> { entry ->
    val route: ProfileRoute = entry.toRoute()
}

Troubleshooting

| Issue | Resolution | |-------|------------| | Recomposition loop | Mark class @Stable or use derivedStateOf | | ViewModel recreated | Use hiltViewModel() not viewModel() |

Usage

Skill("kotlin-android")