The exam consists of a coding project and an exit interview. Both of these exam components are available only in English at this time.
The exam is designed to test the skills of an entry-level Android developer. Therefore, to take this exam, you should have this level of proficiency, either through education, self-study, your current job, or a job you have had in the past. Assess your proficiency by reviewing "Exam Content." If you'd like to take the exam, but feel you need to prepare a bit more, level up your Android knowledge with some great Android training resources.
You must use the latest version of Android Studio to complete the Associate Android Developer Certification Exam.
If you are under 13, you are not eligible to take the exam or to become certified. If you are between 13-17 years of age, you may test and receive certification with parental consent. If you are participating in a location that requires by law a lower minimum age for entry into such programs, then the minimum age limit for that person will be the stated minimum required age. Individuals 18 years or older are eligible for certification without any age-related restrictions.
You must be able to present approved identification showing residence in a non-embargoed country. Google complies with the United States government's list of embargoed countries. The current embargoed country list includes Cuba, Iran, North Korea, Sudan, Syria, and Crimea.
Testing and debugging
Writing tests to verify that the application's logic and user interface are performing as expected, and executing those tests using the developer tools. Candidates should be able to analyze application crashes, and find common bugs such as layout errors and memory leaks. This includes working with the debuggers to step through application code and verify expected behavior.
- Write and execute a local JVM unit test
- Write and execute a device UI test
- Given a problem description, replicate the failure
- Use the system log to output debug information
- Debug and fix an application crash (uncaught exception)
- Debug and fix an activity lifecycle issue
- Debug and fix an issue binding data to views
Application user interface (UI) and user experience (UX)
Implementation of the visual and navigational components of an application's design. This includes constructing layouts—using both XML and Java code—that consist of the standard framework UI elements as well as custom views. Candidates should have a working knowledge of using view styles and theme attributes to apply a consistent look and feel across an entire application. Understanding of how to include features that expand the application's audience through accessibility and localization may also be required.
- Mock up the main screens and navigation flow of the application
- Describe interactions between UI, background task, and data persistence
- Construct a layout using XML or Java code
- Create a custom view class and add it to a layout
- Implement a custom application theme
- Apply a custom style to a group of common widgets
- Define a RecyclerView item list
- Bind local data to a RecyclerView list
- Implement menu-based or drawer navigation
- Localize the application's UI text into one other language
- Apply content descriptions to views for accessibility
- Add accessibility hooks to a custom view
Fundamental application components
Understanding of Android's top-level application components (Activity, Service, Broadcast Receiver, Content Provider) and the lifecycle associated with each one. Candidates should be able to describe the types of application logic that would be best suited for each component, and whether that component is executing in the foreground or in the background. This includes strategies for determining how and when to execute background work.
- Describe an application's key functional and nonfunctional requirements
- Create an Activity that displays a layout resource
- Fetch local data from disk using a Loader on a background thread
- Propagate data changes through a Loader to the UI
- Schedule a time-sensitive task using alarms
- Schedule a background task using JobScheduler
- Execute a background task inside of a Service
- Implement non-standard task stack navigation (deep links)
- Integrate code from an external support library
Persistent data storage
Determining appropriate use cases for local persisted data, and designing solutions to implement data storage using files, preferences, and databases. This includes implementing strategies for bundling static data with applications, caching data from remote sources, and managing user-generated private data. Candidates should also be able to describe platform features that allow applications to store data securely and share that data with other applications in.
- Define a database schema; include tables, fields, and indices
- Create an application-private database file
- Construct database queries returning single results
- Construct database queries returning multiple results
- Insert new items into a database
- Update or delete existing items in a database
- Expose a database to other applications via Content Provider
- Read and parse raw resources or asset files
- Create persistent preference data from user input
- Toggle application logic based on preference values
Enhanced system integration
Extending applications to integrate with interfaces outside the core application experience through notifications and app widgets. This includes displaying information to the user through these elements and keeping that information up to date. Candidates should also understand how to provide proper navigation from these external interfaces into the application's main task, including appropriate handling of deep links.
- Create an app widget that displays on the device home screen
- Implement a task to update the app widget periodically
- Create and display a notification to the user
What will the exam cost?
The Associate Android Developer Certification is $149 USD. Local pricing may vary based on your country of origin.
How does the process work?
The Associate Android Developer Certification process works like this:
- Complete the registration process and pay for, download, and complete your exam.
- After you complete the exam, you will submit it for grading.
- Immediately following submission you will be asked to verify your identity. Please have your government-issued ID (such as a driver's license or passport) ready.
- If you qualify, you will be able to set up your exit interview. In this section, you will explain your work, and provide proof of your identity.
- Upon successfully passing the exit interview, you will be awarded with your Associate Android Developer Certification.
Note: Exams will be graded in the order that they are submitted. Due to the nature of the exit interview portion, the awarding of certifications will depend on when you are able to complete your interview. We will review completed exam submissions and reply to candidates within 45 days.
What happens if I don't complete the exam in 24 hours?
When you are ready to start, you will sign up and pay to take the exam. You have 24 hours from the time you receive your exam until the time you must submit it. If you do not submit your exam within 24 hours, your attempt will count as "failed" and you will need to take another exam to proceed with the certification process.
Can I retake the exam?
If you do not pass the Certification exam, you may retake it in the following manner:
- If you do not pass your first attempt, you may immediately retake the exam.
- If you do not pass your second attempt, you will be eligible for your third attempt after a two month period.
- If you have not passed the exam after three attempts, you must wait six months. After six months, if you still wish to take the exam, you must pay for the exam to take it again.
ID verification troubleshooting (for applicants who have submitted an exam)
- Make sure you have an acceptable form of ID. Acceptable forms of ID include driver's licenses, passports, or other government-issued IDs. Student or work IDs are not accepted.
- Make sure the image you upload of your ID is clear and not blurry. Do not obstruct your ID with your fingers if you are using a webcam.