Kotlin Kotlin Android Development 1 — Questions and Answers
Question 1: What is Jetpack Compose in Android development with Kotlin?
- A build tool for Kotlin projects
- A modern declarative UI toolkit for building Android UIs with Kotlin (Correct answer)
- A dependency injection framework
- A testing library for Android
Correct answer: A modern declarative UI toolkit for building Android UIs with Kotlin
Jetpack Compose is Android's modern declarative UI framework built entirely in Kotlin that replaces XML-based layouts.
Question 2: Which annotation marks a composable function in Jetpack Compose?
- @Component
- @Composable (Correct answer)
- @UIFunction
- @Layout
Correct answer: @Composable
The `@Composable` annotation marks a function as a composable UI component that Compose can track and recompose when state changes.
Question 3: What is `ViewModel` used for in Android Kotlin development?
- Drawing custom views
- Storing and managing UI-related data that survives configuration changes (Correct answer)
- Handling network requests directly
- Parsing XML layouts
Correct answer: Storing and managing UI-related data that survives configuration changes
`ViewModel` holds and manages UI state in a lifecycle-aware way, surviving configuration changes like screen rotations.
Question 4: What is `LiveData` in Android?
- A real-time database
- An observable data holder that respects Android lifecycle (Correct answer)
- A coroutine-based stream for all platforms
- A class for storing large data blobs
Correct answer: An observable data holder that respects Android lifecycle
`LiveData` is a lifecycle-aware observable data holder that automatically updates UI observers and stops updates when the lifecycle owner is inactive.
Question 5: Which Kotlin Jetpack library provides type-safe navigation between Android screens?
- Room
- Navigation Component (Correct answer)
- WorkManager
- DataStore
Correct answer: Navigation Component
The Navigation Component provides a framework for in-app navigation with type-safe argument passing and back stack management.
Question 6: What is Room in Android Kotlin development?
- A UI layout system
- A Jetpack persistence library that provides an abstraction layer over SQLite (Correct answer)
- A coroutines-based networking library
- A memory management tool
Correct answer: A Jetpack persistence library that provides an abstraction layer over SQLite
Room is an Android Jetpack library that provides compile-time verified SQL queries and an ORM layer on top of SQLite.
What is Jetpack Compose in Android development with Kotlin?