Android development

Table of Contents

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.

Man Parvesh Singh Randhawa
Man Parvesh Singh Randhawa
CS Grad student

My interests include distributed computing, information security and Software Engineering.