Unlock hundreds more features
Save your Quiz to the Dashboard
View and Export Results
Use AI to Create Quizzes and Analyse Results

Sign inSign in with Facebook
Sign inSign in with Google

Android Development Skills Assessment Quiz

Challenge Your Mobile App Development Knowledge

Difficulty: Moderate
Questions: 20
Learning OutcomesStudy Material
Colorful paper art depicting a quiz on Android Development Skills Assessment

Discover where you stand in Android development with this engaging Android skills assessment quiz. Joanna Weib invites mobile developers and students to test their understanding of app architecture, UI patterns, and Kotlin integration. It's perfect for anyone preparing for certification or sharpening their app-building expertise. You can tweak questions freely in our editor and even mix in questions from the Software Development Knowledge Assessment Quiz or the Technology Skills Assessment Quiz . Explore more quizzes and level up your mobile development expertise.

Which of the following is NOT a core Android app component?
Activity
Service
ContentProvider
Intent
Activity, Service, ContentProvider, and BroadcastReceiver are the four core Android app components. An Intent is a messaging object used to request actions between components and is not itself a component.
What is the first callback method invoked when an Activity is created?
onResume()
onDestroy()
onStart()
onCreate()
onCreate() is the first lifecycle callback invoked when an Activity is being created. It is where you should perform initial setup such as calling setContentView().
Which layout arranges child views in a single row or column?
LinearLayout
RelativeLayout
FrameLayout
ConstraintLayout
LinearLayout arranges its child views in a single row (horizontal) or column (vertical). RelativeLayout and ConstraintLayout offer more flexible positioning, while FrameLayout is for stacking views.
Where are Android app components declared?
MainActivity.kt
build.gradle
strings.xml
AndroidManifest.xml
The AndroidManifest.xml file declares app components such as activities, services, and providers. It also defines permissions, application metadata, and intent filters.
Which official language is now recommended for Android app development?
Java
Kotlin
C++
XML
Kotlin is the modern, officially recommended language for Android development due to its concise syntax, null-safety, and full interoperability with Java. Google announced first-class support for Kotlin in 2017.
Which Activity lifecycle callback is used to save transient UI state before the activity may be destroyed?
onDestroy()
onStop()
onSaveInstanceState()
onPause()
onSaveInstanceState() is called before an activity may be destroyed to give you a chance to save transient UI state. You can restore this state in onCreate() or onRestoreInstanceState().
Which layout is designed to create complex screens with a flat view hierarchy using constraint-based positioning?
ConstraintLayout
RelativeLayout
FrameLayout
LinearLayout
ConstraintLayout is designed to reduce view hierarchy depth by positioning views relative to each other or to the parent using constraints. It helps improve performance by flattening the layout tree.
What tool built into Android helps detect disk and network operations on the main thread?
StrictMode
Memory Profiler
Lint
Debugger
StrictMode is a developer tool that detects bad practices such as disk or network operations on the main thread at runtime. It logs or crashes the app based on policy violations.
Which Kotlin annotation should you use to generate Java-compatible overloads for functions with default parameter values?
@JvmField
@JvmName
@JvmOverloads
@JvmStatic
The @JvmOverloads annotation instructs the Kotlin compiler to generate Java overloads for functions that have default parameter values. This makes calling those functions from Java more convenient.
What exception is thrown when casting a View returned by findViewById() to the wrong type?
IllegalArgumentException
ArrayIndexOutOfBoundsException
NullPointerException
ClassCastException
A ClassCastException is thrown when you attempt to cast an object to a type it is not. If findViewById returns a View that is not the expected subclass, this exception will occur.
In Room persistence library, which annotation marks a class as a table in the database?
@Dao
@Entity
@ColumnInfo
@Database
The @Entity annotation marks a Kotlin or Java data class as a database table in Room. Fields in the class correspond to columns, and you can use @PrimaryKey and @ColumnInfo for customization.
Which library is recommended for making type-safe REST API calls in Android?
Retrofit
Glide
Picasso
Volley
Retrofit is a type-safe HTTP client for Android and Java, which uses annotations to define REST API endpoints and supports converters for JSON serialization. Volley is more low-level, and Picasso/Glide are image libraries.
Which Android Studio tool allows you to monitor CPU, memory, and network usage of your app in real time?
Android Profiler
Logcat
ADB
Device File Explorer
Android Profiler in Android Studio provides real-time data on CPU usage, memory allocations, network activity, and energy consumption. It helps identify performance bottlenecks during development.
In the MVVM architecture pattern for Android, which class is commonly used to hold observable data for the UI?
ViewModel
Service
Fragment
Activity
The ViewModel class holds UI-related data in a lifecycle-conscious way and survives configuration changes. It exposes LiveData or other observable data to the UI layers (Activities/Fragments).
What exception is thrown if you perform network operations on the main thread?
IllegalStateException
NetworkOnMainThreadException
TimeoutException
IOException
Android enforces network operations on a background thread by throwing NetworkOnMainThreadException if you try to perform HTTP or socket operations on the main thread. This prevents UI freezes.
Which Kotlin API provides cold asynchronous streams with built-in backpressure support?
Sequence
LiveData
Channel
Flow
Kotlin Flow is a cold asynchronous data stream that supports backpressure, allowing producers and consumers to operate at different speeds. LiveData is lifecycle-aware but not designed for backpressure, and Sequence is synchronous.
In Room, what is the effect of calling fallbackToDestructiveMigration() on the database builder?
Validates migrations without applying them
Automatically migrates using code generation without data loss
Deletes and recreates the database on version mismatch
Logs migration issues but keeps the old schema
fallbackToDestructiveMigration() instructs Room to drop all tables and recreate the database if migration paths are missing. This leads to data loss but prevents crashes on version mismatches.
Which developer option in Android settings visualizes GPU overdraw on the screen?
Show layout bounds
StrictMode enabled
Debug GPU overdraw
Show GPU view updates
The Debug GPU overdraw option in Developer Options overlays different colors to indicate how many times a pixel was drawn in a frame. It helps identify areas of inefficient rendering.
Which annotation allows a companion object function in Kotlin to be called as a static method from Java?
@JvmStatic
@JvmField
@JvmOverloads
@JvmName
Annotating a companion object function with @JvmStatic causes the compiler to generate a static method in the containing class, allowing Java code to call it like a regular static method.
After how many seconds of main thread unresponsiveness will the system trigger an ANR for an Activity?
3 seconds
15 seconds
5 seconds
10 seconds
Android triggers an Application Not Responding (ANR) dialog if an Activity's main thread is unresponsive for more than 5 seconds. BroadcastReceivers and Services have different timeouts.
0
{"name":"Which of the following is NOT a core Android app component?", "url":"https://www.quiz-maker.com/QPREVIEW","txt":"Which of the following is NOT a core Android app component?, What is the first callback method invoked when an Activity is created?, Which layout arranges child views in a single row or column?","img":"https://www.quiz-maker.com/3012/images/ogquiz.png"}

Learning Outcomes

  1. Analyse Android app architecture and activity lifecycle
  2. Identify key UI components and layout patterns
  3. Apply performance tuning techniques for responsive apps
  4. Demonstrate proficiency in Kotlin and Java integration
  5. Debug common Android runtime errors and issues
  6. Evaluate data storage and networking solutions

Cheat Sheet

  1. Understand the Android Activity Lifecycle - Every Activity shifts through a sequence of lifecycle methods - onCreate(), onStart(), onResume(), onPause(), onStop(), onRestart(), and onDestroy(). Mastering these lets you manage resources and state changes for a smooth user experience. GeeksforGeeks Article
  2. Explore Android App Architecture Components - Learn how Activities, Services, Broadcast Receivers, and Content Providers work together to form robust app architecture. Grasping these interactions leads to modular code that scales gracefully. Toxigon: Android App Architecture
  3. Master UI Components and Layouts - Familiarize yourself with common UI elements like TextView, Button, and RecyclerView along with layouts such as LinearLayout and ConstraintLayout. Designing interfaces becomes intuitive when you know which tool fits each use case. Android Developers: UI Components & Layout
  4. Implement Performance Optimization Techniques - Use background threading with Kotlin Coroutines, manage memory carefully, and reduce UI overdraw for faster apps. Optimized performance keeps users engaged and satisfied. Android Developers: Performance Tips
  5. Integrate Kotlin and Java Seamlessly - Explore calling Java code from Kotlin and vice versa to leverage existing libraries and modern syntax. Seamless interoperability helps you adopt new features without rewriting everything. Android Developers: Kotlin - Java Interop
  6. Debug Common Runtime Errors - Use Logcat, Android Debug Bridge (ADB), and smart breakpoints to identify and fix issues like NullPointerExceptions, memory leaks, and ANRs. Effective debugging skills turn crash reports into learning opportunities. Android Developers: Debugging Guide
  7. Evaluate Data Storage Options - Compare SharedPreferences for simple key-value storage, SQLite for structured data, and the Room library for a friendly abstraction. Choosing the right option ensures data integrity and performance. Android Developers: Data Storage Options
  8. Understand Networking in Android - Perform network calls efficiently with libraries like Retrofit or Volley and handle RESTful APIs smoothly. Managing connectivity changes properly avoids frustrating errors in unstable network conditions. Retrofit Documentation
  9. Implement Secure Data Handling - Protect user data using encryption, secure HTTPS connections, and precise permission checks. Prioritizing security builds trust and safeguards sensitive information. Android Developers: Security Tips
  10. Stay Updated with Best Practices - Follow the latest Android guidelines, Jetpack components, and design patterns like MVVM to keep your apps modern and maintainable. Regular learning ensures you're always working at peak productivity. Android Developers: Jetpack & Best Practices
Powered by: Quiz Maker