Associate Android Developer (AAD) Certification — Questions and Answers
Question 1: A developer uses a self-signed certificate and disables SSL validation in production to avoid certificate errors. What is the consequence?
- SSL errors are shown to users less frequently
- Faster HTTPS connections
- The app can only communicate over Wi-Fi
- The app becomes fully vulnerable to man-in-the-middle attacks on all network traffic (Correct answer)
Correct answer: The app becomes fully vulnerable to man-in-the-middle attacks on all network traffic
Disabling SSL certificate validation removes the cryptographic trust chain, allowing any intercepting party to read and modify HTTPS traffic undetected.
Question 2: Which class is used to store key-value pairs in Android?
- SQLiteDatabase
- SharedPreferences (Correct answer)
- Intent
- FileOutputStream
Correct answer: SharedPreferences
SharedPreferences is a lightweight storage option used to store small amounts of key-value data persistently.
Question 3: Which WorkManager constraint ensures a task only runs when the device is connected to an unmetered network?
- NetworkType.UNMETERED (Correct answer)
- NetworkType.NOT_ROAMING
- NetworkType.METERED
- NetworkType.CONNECTED
Correct answer: NetworkType.UNMETERED
NetworkType.UNMETERED in a Constraints builder ensures WorkManager only executes the task when the device is on a Wi-Fi or similar unmetered connection.
Question 4: A associate android developer professional discovers a discrepancy during risk management & mitigation review. What is the most appropriate immediate action?
- Working independently to avoid conflicting opinions
- Accepting all stakeholder requests without prioritization
- Limiting communication to written reports only
- Engaging stakeholders collaboratively to align goals and expectations (Correct answer)
Correct answer: Engaging stakeholders collaboratively to align goals and expectations
Engaging stakeholders collaboratively to align goals and expectations is the correct approach because effective risk management & mitigation in the associate android developer field requires adherence to professional standards, evidence-based practices, and systematic methodology. This approach ensures consistent, high-quality outcomes while maintaining professional accountability.
Question 5: Which Android component serves as the primary entry point for user interaction and displays a single screen with a user interface?
- Activity (Correct answer)
- BroadcastReceiver
- Service
- ContentProvider
Correct answer: Activity
An Activity represents a single screen with a UI and is the primary entry point for user interaction in an Android app.
Question 6: What is a primary risk of using Android's WebView to load untrusted external URLs without disabling JavaScript?
- External URLs increase the APK size
- The WebView cannot access the internet
- Slower rendering compared to native Views
- Cross-site scripting (XSS) attacks can execute arbitrary JavaScript in the app's context (Correct answer)
Correct answer: Cross-site scripting (XSS) attacks can execute arbitrary JavaScript in the app's context
JavaScript enabled in a WebView loading untrusted content can execute scripts that access native Android bridges or steal app data via XSS.
Question 7: What does the `suspend` keyword indicate in Kotlin?
- The function runs on the main thread only
- The function pauses execution of the entire app
- The function can be paused and resumed within a coroutine without blocking the calling thread (Correct answer)
- The function is deprecated
Correct answer: The function can be paused and resumed within a coroutine without blocking the calling thread
A suspend function can suspend coroutine execution at a specific point without blocking the thread, and can only be called from a coroutine or another suspend function.
Question 8: What is the purpose of `versionCode` in an Android app?
- It specifies the minimum SDK version required to run the app
- It is an internal integer used by the Play Store to determine if an update is newer (Correct answer)
- It is a string identifier used in Play Store release notes
- It is displayed to users on the Play Store as the app version string
Correct answer: It is an internal integer used by the Play Store to determine if an update is newer
`versionCode` is an integer that must increase with each release; the Play Store uses it to determine update ordering, while `versionName` is the human-readable version shown to users.
Question 9: Which XML attribute is used to set the width of a UI component in Android?
- android:ui_width
- android:width
- android:component_width
- android:layout_width (Correct answer)
Correct answer: android:layout_width
The 'layout_width' attribute is essential for defining the width of UI components in Android layouts.
Question 10: What is the primary benefit of using ViewModel in Android Jetpack architecture?
- It handles network requests automatically
- It replaces the need for Activities
- It directly manipulates the database
- It survives configuration changes like screen rotation (Correct answer)
Correct answer: It survives configuration changes like screen rotation
ViewModel is designed to store and manage UI-related data in a lifecycle-conscious way, surviving configuration changes such as screen rotations.
Question 11: Which Android component is primarily used for managing structured data within an app?
- BroadcastReceiver
- ContentProvider (Correct answer)
- Service
- Activity
Correct answer: ContentProvider
A ContentProvider allows an app to manage and share structured data with other applications in a secure manner.
Question 12: Which file contains the module-level Gradle build configuration including dependencies and build types?
- gradle.properties
- app/build.gradle (Correct answer)
- settings.gradle
- build.gradle (root)
Correct answer: app/build.gradle
The `app/build.gradle` file contains the module-specific configuration including dependencies, build types, and product flavors.
Question 13: In Jetpack Navigation, what is a NavGraph?
- A graph database for storing navigation history
- A UI component that renders breadcrumbs
- An XML resource that defines destinations and actions for in-app navigation (Correct answer)
- A Kotlin class that manages the back stack manually
Correct answer: An XML resource that defines destinations and actions for in-app navigation
A NavGraph is an XML resource file that centralizes all navigation destinations (Fragments, Activities) and the actions connecting them in one place.
Question 14: What does the `@SmallTest` annotation signal about an Android unit test?
- The test uses fewer than 5 assertions
- The test is skipped on CI builds
- The test covers a small code file only
- The test runs quickly and has no external dependencies (Correct answer)
Correct answer: The test runs quickly and has no external dependencies
`@SmallTest` indicates the test is fast and does not rely on the file system, network, or database.
Question 15: Which Android component is used to share data between different applications securely?
- ContentProvider (Correct answer)
- ViewModel
- BroadcastReceiver
- JobScheduler
Correct answer: ContentProvider
A ContentProvider manages access to a central repository of data and provides a standard interface for sharing data between applications.
Question 16: What does the @Composable annotation indicate in Jetpack Compose?
- The function is an extension of View
- The function is called only once at startup
- The function runs on a background thread
- The function describes UI that Compose can render and recompose (Correct answer)
Correct answer: The function describes UI that Compose can render and recompose
@Composable marks a function as a Compose UI function that describes part of the UI tree and can be recomposed by the Compose runtime when state changes.
Question 17: In the Activity lifecycle, which method is called when the Activity is first created?
- onRestart()
- onResume()
- onStart()
- onCreate() (Correct answer)
Correct answer: onCreate()
onCreate() is the first lifecycle callback called when an Activity is created, where you initialize the UI and data.
Question 18: What is the Android back stack?
- A list of installed applications
- A queue of background jobs
- A stack of Activities maintained by the system for navigation (Correct answer)
- A memory optimization technique
Correct answer: A stack of Activities maintained by the system for navigation
The back stack is a last-in, first-out collection of Activities that the system manages so pressing the Back button navigates to the previous Activity.
Question 19: Which framework is commonly used for writing UI tests in Android applications?
- Robolectric
- Mockito
- Espresso (Correct answer)
- JUnit
Correct answer: Espresso
Espresso is a widely used UI testing framework in Android that allows developers to write reliable UI tests.
Question 20: Which Activity method should you override to save UI state before the Activity is destroyed or paused?
- onStop()
- onSaveInstanceState() (Correct answer)
- onPause()
- onDestroy()
Correct answer: onSaveInstanceState()
onSaveInstanceState() is called before an Activity is destroyed so you can save UI state in a Bundle, which is restored in onCreate() or onRestoreInstanceState().
Question 21: A associate android developer professional discovers a discrepancy during communication & stakeholder engagement review. What is the most appropriate immediate action?
- Limiting communication to written reports only
- Accepting all stakeholder requests without prioritization
- Working independently to avoid conflicting opinions
- Engaging stakeholders collaboratively to align goals and expectations (Correct answer)
Correct answer: Engaging stakeholders collaboratively to align goals and expectations
Engaging stakeholders collaboratively to align goals and expectations is the correct approach because effective communication & stakeholder engagement in the associate android developer field requires adherence to professional standards, evidence-based practices, and systematic methodology. This approach ensures consistent, high-quality outcomes while maintaining professional accountability.
Question 22: What is the Jetpack Navigation Component primarily used for?
- Managing database migrations
- Handling in-app navigation between destinations (Correct answer)
- Performing network requests
- Scheduling background jobs
Correct answer: Handling in-app navigation between destinations
The Jetpack Navigation Component simplifies implementing navigation between fragments and activities using a visual navigation graph.
Question 23: What is the `when` expression in Kotlin?
- A replacement for Java's switch statement that matches a value against multiple branches (Correct answer)
- A null-safety operator
- A loop that runs while a condition is true
- A coroutine delay function
Correct answer: A replacement for Java's switch statement that matches a value against multiple branches
Kotlin's when expression matches a value against a series of branches and returns the value of the matching branch, serving as a more powerful switch statement.
Question 24: What is the recommended way to store OAuth tokens securely on Android?
- In a plain text file on external storage
- In the Android Keystore System or EncryptedSharedPreferences (Correct answer)
- In a public SharedPreferences file
- As a URL parameter in the app's deep link scheme
Correct answer: In the Android Keystore System or EncryptedSharedPreferences
The Android Keystore System stores cryptographic keys in hardware-backed secure storage, and EncryptedSharedPreferences encrypts data at rest.
Question 25: What distinguishes an advanced associate android developer practitioner's approach to communication & stakeholder engagement from that of a novice?
- Assigning all responsibilities to a single department
- Creating competition between teams to drive performance
- Establishing cross-functional teams with clearly defined roles (Correct answer)
- Rotating responsibilities randomly to promote flexibility
Correct answer: Establishing cross-functional teams with clearly defined roles
Establishing cross-functional teams with clearly defined roles is the correct approach because effective communication & stakeholder engagement in the associate android developer field requires adherence to professional standards, evidence-based practices, and systematic methodology. This approach ensures consistent, high-quality outcomes while maintaining professional accountability.
Question 26: What annotation marks a method as a database query in a Room DAO?
- @Query (Correct answer)
- @Find
- @Fetch
- @Select
Correct answer: @Query
@Query is the Room annotation used on DAO methods to define custom SQL SELECT (or other) statements to retrieve data from the database.
Question 27: What is the correct way to observe a Flow from a ViewModel inside a Fragment using Jetpack?
- Thread { viewModel.flow.collect { } }.start()
- GlobalScope.launch { viewModel.flow.collect { } }
- lifecycleScope.launch { viewModel.flow.collect { } } (Correct answer)
- runBlocking { viewModel.flow.collect { } }
Correct answer: lifecycleScope.launch { viewModel.flow.collect { } }
Using lifecycleScope.launch inside a Fragment ensures the coroutine collecting the Flow is cancelled when the Fragment's lifecycle is destroyed, preventing leaks.
Question 28: What is the recommended frequency for reviewing and updating app functionality & behavior protocols?
- Tracking activity volume without measuring quality
- Reviewing results only at year-end
- Monitoring outcomes through regular data collection and trend analysis (Correct answer)
- Relying on periodic external audits as the sole evaluation method
Correct answer: Monitoring outcomes through regular data collection and trend analysis
Monitoring outcomes through regular data collection and trend analysis is the correct approach because effective app functionality & behavior in the associate android developer field requires adherence to professional standards, evidence-based practices, and systematic methodology. This approach ensures consistent, high-quality outcomes while maintaining professional accountability.
Question 29: What is the most common mistake professionals make when implementing data management & storage strategies?
- Developing contingency plans for high-probability risk scenarios (Correct answer)
- Responding to problems only after they occur
- Transferring all risk to external partners through contracts
- Creating contingency plans for every possible scenario regardless of probability
Correct answer: Developing contingency plans for high-probability risk scenarios
Developing contingency plans for high-probability risk scenarios is the correct approach because effective data management & storage in the associate android developer field requires adherence to professional standards, evidence-based practices, and systematic methodology. This approach ensures consistent, high-quality outcomes while maintaining professional accountability.
Question 30: Which of the following is a key performance indicator for evaluating communication & stakeholder engagement effectiveness?
- Addressing the most recent issue first regardless of severity
- Treating all tasks with equal urgency regardless of impact
- Focusing only on tasks with immediate financial implications
- Prioritizing based on risk assessment and potential impact (Correct answer)
Correct answer: Prioritizing based on risk assessment and potential impact
Prioritizing based on risk assessment and potential impact is the correct approach because effective communication & stakeholder engagement in the associate android developer field requires adherence to professional standards, evidence-based practices, and systematic methodology. This approach ensures consistent, high-quality outcomes while maintaining professional accountability.
Question 31: What is the primary purpose of an Intent in Android?
- To define UI layouts
- To schedule background tasks
- To facilitate communication between components (Correct answer)
- To store persistent data
Correct answer: To facilitate communication between components
An Intent is a messaging object used to request an action from another component, facilitating communication between Activities, Services, and BroadcastReceivers.
Question 32: In the context of associate android developer, which principle most directly governs data management & storage practices?
- Using trial-and-error without systematic documentation
- Relying exclusively on vendor-provided solutions
- Applying evidence-based methodologies with peer-reviewed support (Correct answer)
- Following popular trends without evaluating their applicability
Correct answer: Applying evidence-based methodologies with peer-reviewed support
Applying evidence-based methodologies with peer-reviewed support is the correct approach because effective data management & storage in the associate android developer field requires adherence to professional standards, evidence-based practices, and systematic methodology. This approach ensures consistent, high-quality outcomes while maintaining professional accountability.
Question 33: A stakeholder questions the value of risk management & mitigation initiatives. Which response best demonstrates ROI?
- Distributing accountability so widely that no one is responsible
- Centralizing accountability with a single individual
- Building a culture of accountability with transparent reporting (Correct answer)
- Avoiding accountability discussions to prevent conflict
Correct answer: Building a culture of accountability with transparent reporting
Building a culture of accountability with transparent reporting is the correct approach because effective risk management & mitigation in the associate android developer field requires adherence to professional standards, evidence-based practices, and systematic methodology. This approach ensures consistent, high-quality outcomes while maintaining professional accountability.
Question 34: What is the purpose of the AndroidManifest.xml file in an Android project?
- To declare app components, permissions, and metadata (Correct answer)
- To store user preferences
- To style UI components
- To define database schemas
Correct answer: To declare app components, permissions, and metadata
AndroidManifest.xml declares all app components, required permissions, hardware features, and other essential app metadata to the Android system.
Question 35: What distinguishes a bound Service from a started Service in Android?
- A bound Service does not need to be declared in the manifest
- A bound Service allows components to bind to it and interact via a client-server interface (Correct answer)
- A bound Service runs indefinitely even after the binding component is destroyed
- A bound Service cannot run in the background
Correct answer: A bound Service allows components to bind to it and interact via a client-server interface
A bound Service offers a client-server interface that allows components to bind, send requests, and receive results, and it runs only as long as a component is bound to it.
Question 36: A new regulation impacts user interface (ui) design & development procedures. What should a AAD professional do first?
- Interpreting regulations loosely to allow maximum flexibility
- Delegating compliance oversight to administrative staff
- Complying only with regulations that have enforcement mechanisms
- Ensuring compliance with current regulatory requirements and standards (Correct answer)
Correct answer: Ensuring compliance with current regulatory requirements and standards
Ensuring compliance with current regulatory requirements and standards is the correct approach because effective user interface (ui) design & development in the associate android developer field requires adherence to professional standards, evidence-based practices, and systematic methodology. This approach ensures consistent, high-quality outcomes while maintaining professional accountability.
Question 37: Which Activity lifecycle method is called when the Activity becomes visible to the user but may not yet be in the foreground?
- onRestart()
- onPause()
- onStart() (Correct answer)
- onResume()
Correct answer: onStart()
onStart() is called when the Activity becomes visible to the user, before it enters the foreground interactive state.
Question 38: Which Google Play policy requires apps to provide a functional mechanism for users to request account deletion?
- Privacy Policy requirement
- Account Deletion Policy (Correct answer)
- Data Safety Policy
- User Data Policy
Correct answer: Account Deletion Policy
Google's Account Deletion Policy mandates that apps allowing account creation must also offer an in-app account deletion option.
Question 39: In the context of associate android developer, which principle most directly governs testing, debugging & performance optimization practices?
- Relying exclusively on vendor-provided solutions
- Applying evidence-based methodologies with peer-reviewed support (Correct answer)
- Using trial-and-error without systematic documentation
- Following popular trends without evaluating their applicability
Correct answer: Applying evidence-based methodologies with peer-reviewed support
Applying evidence-based methodologies with peer-reviewed support is the correct approach because effective testing, debugging & performance optimization in the associate android developer field requires adherence to professional standards, evidence-based practices, and systematic methodology. This approach ensures consistent, high-quality outcomes while maintaining professional accountability.
Question 40: In the context of associate android developer, which principle most directly governs app functionality & behavior practices?
- Following popular trends without evaluating their applicability
- Applying evidence-based methodologies with peer-reviewed support (Correct answer)
- Using trial-and-error without systematic documentation
- Relying exclusively on vendor-provided solutions
Correct answer: Applying evidence-based methodologies with peer-reviewed support
Applying evidence-based methodologies with peer-reviewed support is the correct approach because effective app functionality & behavior in the associate android developer field requires adherence to professional standards, evidence-based practices, and systematic methodology. This approach ensures consistent, high-quality outcomes while maintaining professional accountability.
Question 41: Which Paging 3 component is responsible for defining how data is loaded from a source?
- PagingConfig
- RemoteMediator
- PagingSource (Correct answer)
- PagingData
Correct answer: PagingSource
PagingSource is the class you extend to define how paginated data is loaded from a single source such as a database or a network API.
Question 42: Which Jetpack Compose function is used to remember a mutable state variable across recompositions?
- stateOf()
- observeState()
- remember { mutableStateOf() } (Correct answer)
- liveDataOf()
Correct answer: remember { mutableStateOf() }
remember { mutableStateOf() } creates a state holder that Compose remembers across recompositions, triggering UI updates whenever the value changes.
Question 43: You discover a critical security vulnerability in a popular third-party Android library your app depends on. What is the ethical course of action?
- Privately disclose the vulnerability to the maintainer and allow reasonable time to patch before any public disclosure (Correct answer)
- Exploit the vulnerability to gain competitive advantage
- Immediately post full vulnerability details on social media to warn the community
- Ignore it since it is the library author's responsibility to find it
Correct answer: Privately disclose the vulnerability to the maintainer and allow reasonable time to patch before any public disclosure
Responsible disclosure gives maintainers time to patch the issue before attackers can exploit public knowledge of the vulnerability.
Question 44: What is the role of a ContentProvider's URI in Android?
- It uniquely identifies a dataset exposed by the ContentProvider for access (Correct answer)
- It defines the app's package name
- It specifies which Wi-Fi network to use
- It identifies a user account
Correct answer: It uniquely identifies a dataset exposed by the ContentProvider for access
A ContentProvider URI uniquely identifies the provider and the specific data table or record to access, following the format content://authority/path/id.
Question 45: A user's Android device is stolen while unlocked. What app-level mitigation best protects sensitive data in this scenario?
- Requiring re-authentication after a short inactivity timeout (Correct answer)
- Increasing the app's minSdkVersion
- Using Vector drawables
- Disabling the back button
Correct answer: Requiring re-authentication after a short inactivity timeout
Requiring re-authentication after a timeout ensures that even physical access to an unlocked device does not bypass in-app authentication.
Question 46: Which method is used to insert data into an SQLite database in Android?
- insert() (Correct answer)
- add()
- put()
- store()
Correct answer: insert()
The insert() method of the SQLiteDatabase class is used to add new records to a database table.
Question 47: What is a Fragment in Android?
- A standalone app process
- A reusable UI portion that lives inside an Activity (Correct answer)
- A type of Intent
- A background service component
Correct answer: A reusable UI portion that lives inside an Activity
A Fragment is a reusable portion of your app's UI that has its own lifecycle and can be embedded in an Activity.
Question 48: What is the primary purpose of ViewModel in Android Jetpack?
- Store and manage UI-related data that survives configuration changes (Correct answer)
- Replace the Activity class
- Handle network requests directly
- Inflate XML layouts
Correct answer: Store and manage UI-related data that survives configuration changes
ViewModel is designed to store and manage UI-related data in a lifecycle-conscious way so that data survives configuration changes like screen rotations.
Question 49: Which mitigation strategy helps detect if an Android app has been tampered with or repackaged by an attacker?
- Signature verification at runtime (Correct answer)
- Enabling StrictMode
- Enabling lint checks in Gradle
- Using a ConstraintLayout
Correct answer: Signature verification at runtime
Checking the app's signing certificate at runtime detects repackaged APKs, since attackers must re-sign the app with a different key.
Question 50: A new regulation impacts testing, debugging & performance optimization procedures. What should a AAD professional do first?
- Ensuring compliance with current regulatory requirements and standards (Correct answer)
- Complying only with regulations that have enforcement mechanisms
- Interpreting regulations loosely to allow maximum flexibility
- Delegating compliance oversight to administrative staff
Correct answer: Ensuring compliance with current regulatory requirements and standards
Ensuring compliance with current regulatory requirements and standards is the correct approach because effective testing, debugging & performance optimization in the associate android developer field requires adherence to professional standards, evidence-based practices, and systematic methodology. This approach ensures consistent, high-quality outcomes while maintaining professional accountability.
Question 51: Your Android app bundles an open-source library licensed under GPL v2. What legal and ethical obligation does this create?
- You may be required to release your app's source code under a GPL-compatible license (Correct answer)
- No obligations; open-source code can be used freely in any commercial app
- You must credit the authors only in your Play Store listing
- You must pay a licensing fee to the original authors
Correct answer: You may be required to release your app's source code under a GPL-compatible license
The GPL is a copyleft license that typically requires derivative works to also be distributed under the GPL.
Question 52: Which section of the Google Play Console requires developers to complete a questionnaire about data collected by their app?
- Content Rating
- App Content
- Privacy Policy
- Data Safety (Correct answer)
Correct answer: Data Safety
The Data Safety section requires developers to disclose what data the app collects, shares, and how it is handled.
Question 53: What is the purpose of a Repository in Android's recommended app architecture?
- Act as the single source of truth abstracting data sources from the ViewModel (Correct answer)
- Store user session tokens
- Host the UI logic
- Manage Fragment transactions
Correct answer: Act as the single source of truth abstracting data sources from the ViewModel
A Repository mediates between data sources (Room, network APIs) and the ViewModel, providing a clean API and ensuring the ViewModel does not depend on specific data sources.
Question 54: What is the role of a Room Entity?
- It handles network requests
- It defines a table in the SQLite database (Correct answer)
- It manages Fragment transactions
- It observes LiveData updates
Correct answer: It defines a table in the SQLite database
A Room @Entity is a data class annotated to represent a table in the SQLite database, with each field mapping to a column.
Question 55: In the Activity lifecycle, what state is the Activity in immediately after onResume() is called?
- Stopped
- Created
- Running/Resumed (Correct answer)
- Paused
Correct answer: Running/Resumed
After onResume() is called, the Activity is in the Running (Resumed) state — it is in the foreground, visible, and actively interacting with the user.
Question 56: What does @HiltViewModel accomplish in a ViewModel class?
- Allows Hilt to inject dependencies into the ViewModel automatically (Correct answer)
- Prevents the ViewModel from being cleared
- Binds the ViewModel to a specific Fragment
- Enables LiveData auto-update
Correct answer: Allows Hilt to inject dependencies into the ViewModel automatically
@HiltViewModel tells Hilt to generate the necessary code to inject constructor dependencies into the ViewModel without needing a custom ViewModelProvider.Factory.
Question 57: An Android app is rated for users aged 13 and under. Which approach is ethically and legally required?
- Block all users who appear to be under 18 without explanation
- Collect the same behavioral data as for adult users
- Comply with COPPA, avoid behavioral advertising, and obtain verifiable parental consent (Correct answer)
- Use a simple age gate that users can bypass by entering any birth year
Correct answer: Comply with COPPA, avoid behavioral advertising, and obtain verifiable parental consent
COPPA imposes strict requirements on apps directed at children, including parental consent and restrictions on data collection.
Question 58: What is LiveData in Android Jetpack?
- An observable data holder that respects the lifecycle of app components (Correct answer)
- A real-time database solution
- A network request library
- A type of persistent storage
Correct answer: An observable data holder that respects the lifecycle of app components
LiveData is a lifecycle-aware observable data holder that automatically updates UI observers only when they are in an active lifecycle state.
Question 59: Which Jetpack component is used to schedule deferrable, guaranteed background work?
- WorkManager (Correct answer)
- Navigation
- Room
- LiveData
Correct answer: WorkManager
WorkManager is the Jetpack library for scheduling deferrable, constraint-aware background tasks that are guaranteed to run even if the app exits or the device restarts.
Question 60: In Espresso, which ViewMatcher checks that a RecyclerView item at a specific position holds a certain view?
- onData() with a CursorMatcher
- RecyclerViewActions combined with atPosition() (Correct answer)
- scrollToPosition() with check()
- onView(withId()).atPosition()
Correct answer: RecyclerViewActions combined with atPosition()
`RecyclerViewActions.actionOnItemAtPosition()` and `atPosition()` matchers let Espresso interact with specific RecyclerView items.
Associate Android Developer (AAD) Certification
The Google Associate Android Developer certification validates foundational Android development skills including building apps with Kotlin, implementing UI with Jetpack components, managing data and storage, debugging, and applying modern Android architecture patterns.
Exam Rules
- You can skip questions and return to them later
- Flag questions for review before submitting
- No feedback shown until you submit the entire exam
- Unanswered questions count as wrong — answer everything
- 10 pretest questions are mixed in and don't affect your score
- Timer auto-submits when time runs out
- Your progress is auto-saved every 30 seconds