In this article I want to educate fellow Android Developers regarding the Android certification program by Google.
Associate Android Developer was announced during Google I/O 2016 by Google Developer Training Team. Their aim was to “close the gap between developers launching their careers and employers.”
By passing this exam and earning the Associate Android Developer Certification, candidates are able to demonstrate tested knowledge of Android Development and the ability to perform general development tasks.
What is Google Certified Associate Android Developer Certification : https://w ww.youtube.com/watch?v=GY5Olv1_dB4
My Certification Links : https://www.credential.net/z3opagka
How does the Certificate look :
Nature of the Certification Exam
Associate Android Developer Certification is a performance exam where you write real apps to show your skill and validate yourself. It is a practical test where you need to build an real Android app.
This certification requires you to have knowledge about Android. So Google Developer Certification website and see if you have required skills to take the exam.
The exam is not really about getting passed or failed. It’s about validating your skills as an Android developer.
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
If you feel you have enough expertise on those four general subjects, then you are good to go and try the exam. The enrollment goes through the above website. After you pay the exam fee (currently $149 USD), you will be able to download the project and start the whole procedure whenever you want. Do it when you have enough time.
The exam is basically divided into two phases, first one being the main assessment portion and the second one being a verification type of interview.
To start with the first phase, once you pay for your exam, you can download one compressed file which contains the actual project that you can directly load into your android studio. For that, extract the file into any directory and open Android Studio->file->open project->(point the build.gradle file of your downloaded project).
The scenario here is, you are getting to work on this project because the developer who was working on it has been put on some different project module and you need to finish the application as per the requirements.
Once you pay for your exam ,you will have 24 hours to submit the exam. You will be asked whether you want to start the exam immediately. After you click the Start Exam choice, you will have one exam-paper kind of web page which will be having all the details about the application you need to work on and finish.
You will get a list which will be having,
- Basic Overview of Application
- Functional Requirements
- User Interface Description
- Implementation of Features
In the exam you need to stick on material that you are provided. In depth meaning is, you need to perform as you are asked.
- You can’t change any class names or function names which are already existing in the project. Doing so may lead directly to invalidation of your attempt.
- Whole structure in the project is very smartly structured to set proper challenges for the appearing student. There are many constraints in the application which creates quite a bit of fun to deal with. So stick to the structure and don’t create your own new classes (until asked in the exam)
- The project contains many methods which you may feel where they will be used! But believe me, every method in every class has their own use somewhere in the application. If you successfully cover all the requirements than you will be using all those methods at one place or another.
- When creating new classes, use the same name you are given in the requirements list. Don’t create your own named class until given.
So get yourself a cold coffee and start coding!
Once you implement all the features in the application, you can go ahead and submit the examination.
There are certain rules about submission as the google developer page stats,
“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.”
Which brings the next question in mind, what is the process to retake the exam?Well, once you pay for the exam, you get 3 attempts to appear.
- First Attempt is when you pay and start the exam. If you do not pass after the submission(Within 24 hours or failed attempt without grading), you can immediately take the exam again.
- Second Attempt can be started as soon as you are informed about the failure of the first attempt. In this attempt, one new application will be given to you to finish in 48 hours. If you do not pass in the second attempt then you will have to wait for minimum time period of 2 months.
- Third Attempt can be taken after the period of 2 months. Here again, new application and new requirements with new clock of 24 hours. If still you do not pass then trust me, you need to brush up your knowledge. If a student fails in this third attempt, then he/she has to wait for another 6 months period after which, the exam can be retaken by paying again the fees.
At the time of submission for the first time, after you have submitted your code in compressed form, you will be asked to verify your identity.
You can do so by uploading proper scanned images of your identity docs.
The type of docs accepted are:
- Driver’s License
- Other government-issued ID
The type of docs not accepted are:
- Student ID
- Work ID
After you successfully finish your identity verification, you may sit back and relax. Your exam will be graded by machine and human based evaluation and you will be notified by mail from google about the results of the exam.
PHASE 2 :
Once you complete and submit the app within 24 hours. You’ll receive mail to choose your convenient time for the exit interview.
The exit interview will be taken though video call by one of the member from the certification team who has knowledge about Android.
You have to show your identity proof issued by any government authorized body at the starting of the interview.
In the developers’ website, it has been stated that they can take up to 45 working days to give you the result. But in my case, i got the results within 2 days of my submission. Keep checking your spam email as well. In my case, my result was treated as spam email and later on I got to know that its in my spam emails.
My Exam Questions Screenshots
The AAD is a great way to show your level of expertise in Android Development. It’s particularly helpful if you have little or no working experience and want to prove yourself in an interview. And considering its relatively low price, there is really no reason not to do it.
- It will authenticate your skills as an Android Developer
- You’ll get an official badge from Google which I think is pretty dope to put on your Resume or LinkedIn
- You’ll get to be part of Google Developer Certification Summit.
Start your journey here:
Google Developers Certification page