Android development

Man Parvesh Singh Randhawa
Being from a non-CS background, Android was the first thing I learned when I started to learn how to code. At that time, I was not familiar with Java either.

Learning Android for the first time

I remember learning Java first and then proceeding with Android development. I learned from the book Learn Java for Android Development by Jeff Friesen.
This is a good book that taught me a lot of basics related to Java and Computer Science. After that, I started to learn from the Android developers’ website, which was very thorough and up-to-date.

Revisiting Android

It had been a long time for me since I had worked on an Android project, so recently I decided to check out the advancements that have been made in the recent years. I used to read on the different new ways that emerged to develop Android apps, like React Native, Cordova, Kotlin, etc.
This time I decided to go for a certified specialization by Coursera: Android App Development Specialization. It turned out to be a great idea for me, since I got to learn about Android from the basics. My former knowledge was shallow and the courses cleared a lot of questions I had related to the topic. I am sharing some things that I learned while going through the specialization.

Things I learned


  • Intents
  • Activities
  • Lifecycle methods
  • Concurrency in Android
  • Broadcast receivers


  • The Android linux kernel
  • RAM management in Android
  • Anonymous shared memory (cashmem)
  • Hardware Abstraction Layer (HAL)
  • Android runtime execution environment
  • Java libraries included in Android
  • Core Android libraries
  • The Native Development Kit (NDK)
  • Services
  • Content resolvers
  • Inter-process communication (IPC)


Overall, it turned out to be a good idea to do the specialization. I wanted to work on some Android projects, but had forgotten most of the things. The specialization turned out to be very helpful.
One of the projects that I will be working on in the future is: Idea Tracker Plus, an Android application for tracking your ideas.