Android Development - Multiple Choice Exam
Name: _________________________ Date: _______________
1. What is the primary language officially supported by Android for native app development as of
Android Studio Arctic Fox and beyond?
A) Java
B) Kotlin
C) Swift
D) Python
2. What is the function of the AndroidManifest.xml file in an Android project?
A) To define the app's user interface
B) To list all the Java/Kotlin classes used
C) To declare components, permissions, and metadata
D) To handle database configuration
3. Which component is not considered one of the four main Android app components?
A) Activity
B) Fragment
C) Service
D) BroadcastReceiver
4. What does the onCreate() method in an Android activity signify?
A) The app has finished rendering UI
B) The activity is being paused
C) The activity is being destroyed
D) The activity is being created and initialized
5. What is the purpose of ViewModel in Android's architecture components?
A) To manage UI navigation
B) To store UI-related data that survives configuration changes
C) To control the app's background tasks
D) To manage Android permissions
6. Which Android layout allows you to position child views in relation to each other or the parent?
A) LinearLayout
B) RelativeLayout
C) FrameLayout
D) GridLayout
7. Which of the following is true about Jetpack Compose?
A) It replaces the need for Kotlin in Android apps
B) It is an imperative UI framework
C) It allows building UI with declarative Kotlin code
D) It only works with XML layouts
8. What is the purpose of LiveData in Android development?
A) To store app preferences
B) To update UI based on data changes in a lifecycle-aware way
C) To save large files locally
D) To animate layout transitions
9. What is the correct way to request a runtime permission in modern Android development?
A) By declaring it only in the manifest
B) Using ActivityCompat.requestPermissions()
C) Using Jetpack's PermissionManager class
D) By enabling it in Gradle
10. Which tool is commonly used to inspect and debug Android layouts at runtime?
A) Android Profiler
B) Layout Inspector
C) Logcat
D) Lint
11. What is the recommended architecture pattern for modern Android app development promoted
by Google?
A) MVC
B) MVP
C) MVVM
D) MVI
12. Which annotation is used in Room to indicate the primary key in an Entity class?
A) @Primary
B) @EntityKey
C) @Id
D) @PrimaryKey
13. Which of the following best describes the role of Coroutines in Android development?
A) They manage the layout rendering efficiently
B) They help store data securely
C) They allow asynchronous programming using a lightweight thread-like model
D) They simplify Android permissions management
14. What does the onSaveInstanceState() method help with in an Activity?
A) Handling background threads
B) Saving transient UI state during lifecycle changes
C) Initializing Jetpack Compose views
D) Registering background services
15. In Android Jetpack's Navigation component, what is the purpose of the NavController?
A) To inflate fragments manually
B) To manage database queries
C) To navigate between destinations within a navigation graph
D) To fetch remote data for the ViewModel
Answer Key
1. B
2. C
3. B
4. D
5. B
6. B
7. C
8. B
9. B
10. B
11. C
12. D
13. C
14. B
15. C