Associate Android Developer Certification By Google

A Step by Step Guide

--

Hello and Welcome fellow developers, In this article I will be helping you
understand the process of AAD Certfication and how to prepare for it.

The Article is divided into four parts

  • Why this Certification ??
  • Preparations for the Exam
  • Resources to study
  • Exam Tips
  • Post Certification Phase

Feel free to skip the parts you’re not interested in…
without further adieu, Let’s get to the point

Why this Certification ??

The Associate Android Developer Certification program was announced at Google I/O 2016, and launched a few months later.

Google created this certification to establish a professional standard so that employers will get a clear perspective about your understanding of Android.

As you might be aware Android is owned and developed by Google LLC.

©Photo by ShreejeetKadam

So if you are a newbie waiting to grow like this cactus, then doing the Google’s AAD certification would be the best kickstart you can get in the ever evolving mobile industry.

Preparations for the Exam

The AAD Certification Exam pattern has changed a bit frequently.
At the time of writing this blog (Aug 2020) the exam consists of
8 hour practical Exam and an Exit Interview

The exam can be given in Java or Kotlin.
Google has made kotlin as the official language for Android, however support for java is still available.

Before giving the exam make sure your android studio is updated to latest version.

The Exam :

You will be provided with an incomplete app with some functionalities implemented along with bugs.
Your task is to build the additional features written in the document as well as fix the bugs in your app. The document will have a detailed overview of the app including UI designs, types of fonts, colors and styles which you need to implement.

You can use Internet and copy-paste code from anywhere…Yayy !!!

The app will be already included with all the fonts , strings , colors and styles.

The Syllabus includes :

  1. Building UI elements and layouts (Linear, Relative and Constraint) :
    you willl be needed to build basic screens or recycler view item using android UI elements. Various menu items as well as Custom toolbars.

There is no compulsion to use any of the above layouts as long as you deliver the same exact screen as asked in the document.

2. Building the navigation between screens :
you will need to build navigation between screens using on click listeners and events

no compulsion to use navigation component by jetpack library.

3. LiveData and MVVM :

  • The app will be already implemented using the MVVM Architecture pattern along with LiveData.

empty viewmodels and empty activities will be already present, you will need to complete the files and connect them.

4. Persistent Database using Room :

  • The app will strictly use Room and DAO(Data Access Objects) for persistent database storage.

Methods inside DAO will be provided already, you will need to add accurate annotations and connect the DAO and DB properly.

5. Recycler View , List Adapter and Pagination :

  • There will be at least 1 Recycler view needed in your application.
  • This might include ListAdapter which extends Recycler View
    as well as Pagination.
  • you will also need to pass a clicklistener for items in recycler view.

Recycler view will be already connected with a viewholder and the respective methods will be empty. you need to complete them while looking out for any bugs that are already there.

MVVM, LiveData ,Room and Recycler View are the key components of the app so these should be throughly prepared

6. Notifications and Alarms
The app will need to deliver notification based on a certain event.
It could be :-

  • an immediate notification
  • a fixed time based notification
  • a recurring notification with fixed interval

7. BroadCasts

  • You might need to use custom broadcasts with pending intents for different scenarios.
    E.g. this might be useful for opening up the app after clicking on the notification.

8. Job Scheduler and Work Manager API :

  • There could be tasks which needs to be done in the background thread even if the app exits or restarts.
  • Practice creating all types of constraints and applying them to schedule jobs.

9. Kotlin Coroutines / RxJava (Reactive Programming) :

  • All the interactions with Database must be done on a separate thread asynchronously and doing that on UI thread will cause your app to crash.
  • you can use RxJava or Kotlin Coroutines or a library of your choice to execute tasks on background thread.

To use RxJava you will need to add correct dependencies in the gradle whereas Coroutines will be directly available to use.
Though its not much of a hassel to choose, my personal preference was Kotlin Coroutines for this task and it went pretty well.

10. Shared Preferences and Settings Preferences :

  • You might need to save some data on the users device using Shared Preferences.
  • Also The app might need a settings screen, which can be built by Preference library in Jetpack.

11. UI and Unit tests :

  • You might be asked to write a ui/unit test case for one of the screen.

I wasnt asked to write any UI/Unit test cases but many others attending the exam were asked to write some simple ui and unit tests.

Resources to Study :

  1. Developing Android Apps with Kotlin by Google :
    https://www.udacity.com/course/developing-android-apps-with-kotlin--ud9012
    This is the best course out there for this certification as well as to learn android. Its made for beginners but along the way, there are very key insights which most of the tutors might miss.
  2. Android Kotlin fundamentals by Google and Code-Labs:
    https://developer.android.com/courses/kotlin-android-fundamentals/overview

    This contains readable content as well as practicals for android.
    It includes 70–80% of exam syllabus. Try to implement and make all the components in it by yourself.
  3. Some blogs and Videos which I came across while preparing :

    A. Implementing MVVM using LiveData, RxJava, Dagger Android
    https://proandroiddev.com/mvvm-architecture-using-livedata-rxjava-and-new-dagger-android-injection-639837b1eb6c

    B. ViewModels and LiveData: Patterns + AntiPatterns
    https://medium.com/androiddevelopers/viewmodels-and-livedata-patterns-antipatterns-21efaef74a54

    C. Async code on Kotlin: coroutines VS RxJava
    https://www.codemotion.com/magazine/dev-hub/mobile-dev/async-code-on-kotlin-coroutines-vs-rxjava/

    D. MVVM on Android Crash Course
    https://resocoder.com/2018/09/07/mvvm-on-android-crash-course-kotlin-android-architecture-components/

    E. Android MVVM Kotlin Tutorial — LiveData + ViewModel
    https://www.youtube.com/watch?v=d7UxPYxgBoA&list=WL&index=6&t=12s

    G. Basic Tutorial about Data Binding
    (about what/why of data binding)
    https://www.youtube.com/playlist?list=PLJJzW__bab3Q8jYR7dJnNUeoGpHN2Ei1n
  4. CodeLabs tutorial are based on Udacity course. Some of the codelabs in java are not available in kotlin and vice-versa.
    Here’s an app made by me which has most of the components and functionalities which are asked in android exam(App is made kotlin).
    You can have a look here
home screen-utility application

5. For implementation of MVVM architecture using Live data you can refer this Thank you tree app. Refer the readme to understand it’s behaviour.

Exam Tips :

  1. Read the whole document throughly, if you can, do make a rough diagram using pen and paper. That will give you a clear picture all the time throughout the exam.
    Spend at least half an hour understanding all the requirements and bugs.
  2. Fix the crash issues first. As you might be aware if you submit your project and your app is crashing you will immediately fail the exam.
  3. Prepare screens one by one. Dont try to make the whole app work in one go. Divide and Conquer!!
  4. Dont stay stuck at one place, do the easy part first if you are unsure about something. Being successful at small tasks will increase your confidence :)
  5. Make sure you have had enough sleep before the exam and adequate meal. So that you are not starving as well as not too dizzy. Save your energy!!
  6. Periodic doses of little bit Caffeine would be good for concentration.

Post Certification Phase :

  1. When will the results come?
    It will take maximum of 45 days for your result to come in.
    So all you gotta do is wait…
©Photo by ShreejeetKadam

2. What happens if you fail the exam?

Even if you fail you would’ve learned a great deal of stuff about android.
Regardless you can attempt for exam again in 14 days, 2 months and an year.

3. What are the perks of having this certification?

It would take me another blog to explain it so here you go. ;)
https://android.jlelse.eu/perks-of-being-an-associate-android-developer-a63e1c831949

My Certificate and Badge

All the best with your exam, Cheers!!

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

Swanand Kavitkar
Swanand Kavitkar

Written by Swanand Kavitkar

SDE @ TikTok | Mobile & Web App Developer | Google Certified Android Developer | AWS certified Solutions Architect

Responses (4)