Android — The Talk of the Town

Wanna have some KitKat?

Priyansh Khodiyar
DSC VSSUT
9 min readJan 15, 2022

--

Images of Android bot painting a canvas

Android13yr, Cool rich kid, class topper, sporty, likes desserts, fav color green, lives at Mountain View, CA.

The small thing that you hold in your hands,

keep in your pockets,

take to college and office,

click cool selfies,

text people all day,

& share funny memes, and download tons of apps is nothing but Android, a piece of software sandwiched 🥪 between millions of semiconductors.

“Curious how it all started? I bet you are.”

Allow me to teleport you to a small rundown into Android-Verse.

A long time ago there was Unix(OS which devs use), then Linux was derived from it and then Android came into the picture as a Modified version of Linux- Kernel. A part of Apple’s iPhone and macOS is also Darwin-based (Unix-like).

Android is free and open-source software; its source code is known as Android Open Source Project (AOSP) released on September 23, 2008; 13 years ago.

Android is developed in private by Google, with Apache License version 2.0. which allows modification and redistribution.

It is written in Java (UI), C (core), C++ primarily.

Internally, Android identifies each supported device by its device codename, a short string. For example, the device codename of the Pixel smartphone is sailfish.

Software packages on Android use APK (Android application PacKage) and recent AAB (Android App Bundle) format.

Android uses a type of super-fast compiler to make bundles called JIT (just-in-time) compilation, and it is called: DVM (Dalvik Virtual Machine) or ART (Android RunTime) in newer versions.

Android implementation layers shown in a diagram
Implementation layers

Android Releases — Latest to Oldest.

Android 12, released on October 4, 2021, is the latest version.

Others, Android 11, Android 10, Pie, Oreo, Nougat, Marshmallow, Lollipop, KitKat

On August 22, 2019, it was announced that Android “Q” would officially be branded as Android 10, ending the historic practice of naming major versions after desserts💔.

Foodies, I hope you’re okay. Want KitKat? Have some.

Some clickables:

Does Android matter?

Yes, of course, it does and there are numerous reasons you should consider Native Android App Development.

But is Kotlin the best language to use for it? or I can get away with learning Java only?

Honestly speaking, before Kotlin (developed by Jet Brains, 2016) came into the picture in 2019 after Google made it the official language for Android Development, Java was the only option available to make apps, but developers now prefer Kotlin, Why? Have a look —

  1. More for Less — 1: 5 lines of code ratio. A huge productivity boost for devs.
  2. Null-Safety is a Blessing — The most common error that causes apps to crash if you are using Java, take care in Kotlin by default.
  3. Interoperability — Can use java commands and Java libraries in a Kotlin project.
  4. Immutability is the Default Setting — Immutability is the need of the hour.
  5. Backed by Google — Kotlin is being developed even as you read this.
  6. Better language design, safer, easy to maintain.
A stackoverflow graph showing Java vs Kotlin programming language popularity
higher % of Java as it is also used for way too many other use cases other than Android | StackOverflow Trends.
A developer survey graph showing most loved languages in order
Acc. to StackOverflow Developer Survey 2020

What is Kotlin?

Kotlin is a general-purpose, expressive, open-source statically typed programming language for the JVM, Browser, Native, and Android that combines object-oriented and functional programming features. Used by 5.8 million devs around the world. Woah!

Image of Kotlin Programming language

Fun Fact:—

The name comes from Kotlin Island, near St. Petersburg. Andrey Breslav mentioned that the team decided to name it after an island just like Java was named after the Indonesian island of Java.

Num Fact:—

  • 2.5 billion active android device users.
  • As of January 2021, the Google Play Store features over 3 million apps.
  • 116.9 billion apps and games were downloaded in 2020 alone.
  • In India, Android has over 96% market share.

Let’s talk Salaries.

now that’s a lot of money! Buy me a KitKat :p

So coming back to the protagonist of our story — little Android.

All this is very cool but boy how do I get started? There are tons of resources!!

we got you covered here, follow these steps.

  1. Download and set up Android studio.
  2. Go to the official Google curriculum here — https://developer.android.com/courses/android-basics-kotlin/course
  3. Subscribe to Android Developers Youtube Channel(it's official).
  4. Read blogs, join forums, attend virtual conferences, and most importantly, have lots of fun!
  5. See, it’s so easy to get started!

And to make things easier, Google Developer Student Clubs at our University came up with Android Study Jams — A platform that boosted my interest in mobile application development and I got an amazing peer group to discuss and work with.

Google Developer Students club’s event named Android Study Jam

All we had to do was register ourselves as Android Study Jams participants, create a Google Developers Profile, and get started with a course.

Profile? Okay…

Google Developer Profile is a way to learn about Google technologies and unlock achievements. Our profile captures our achievements with badges and saves our progress as we complete the pathways that include codelabs and videos.

Android developers profile

You might notice several badges on the right, so, what are those?

Badges are achievements that we earn on completing a learning activity, such as a codelab or quiz, or when we participate in Google Developer communities or events.

Curious? Read on!

After creating our Developer’s profile and making it public(important), we had to start off with the Android Basics using the Kotlin course, which was mailed to us by the Android Study Jam facilitator of our campus after we registered for it.

Let’s take a brief tour of my learning experience.

In the course, we learned the basics of building Android apps using the Kotlin programming language and ended up building a collection of apps.

The course consisted of 6 units, each dealing with many codelabs and quizzes.

Here’s a synopsis:

Unit 1: Kotlin basics

In this unit, we were formally introduced to Kotlin and its benefits(again), then proceeded with creating our very first app! (^-^) using a very basic layout system and adding images, text, and buttons.

Unit 2: Layouts

Next, we built two different apps,

  1. ‘Tip calculator App’ by building the layout first and then implementing the logic to calculate the tip from the user input using material design UI guidelines and,
  2. An app that displays a scrollable list of inspiring quotes and images using the RecyclerView widget in Android.

Unit 3: Navigation

Here we added a second screen to our app and learned to navigate between the two, used Android Jetpack Architecture, and combined everything we’ve learned in this unit about navigation, ViewModel, data binding, and LiveData by building a more advanced app that also includes custom back stack behavior.

Unit 4: Connect to the internet

In the 4th unit, we wrote coroutines (clear, non-blocking code used to build more complex and advanced apps) for the app, learned about HTTP and REST to get data from the internet.

Then, used the Coil library to display images in our app.

Unit 5: Data persistence

Next, We learned about the basics of reading and manipulating data with SQL, and how to create and use relational databases in an Android app with the Room library to allow our apps to read and write from a database for a smooth and consistent user experience.

Unit 6: WorkManager

In the last section, we learned when and how to use WorkManager, an API that handles background work that needs to run regardless of whether the application process is still running, like backing up data or downloading fresh content, that keeps running even if our app exits or the device restarts, it got you covered.

“In a nutshell, Units → Pathways → Activities → Quizzes → Badges → Developer Profile → Happy moments!”

Well, I felt that covering all six units empowered me to explore something really exciting!. Now I can make those apps I always dreamt of.

That’s pretty much it, neither too extensive nor too intensive, just the right things one needs to know.

Apart from the course, We got a chance to attend the weekly sessions organized by GDSC-VSSUT covering various insightful topics given in the course. It was exciting being a part of it and getting our silliest of queries solved over the discord channels and WhatsApp groups is appreciable.

It all started with an Info Session, where we were Introduced to Android Study Jam and its proceedings, the future session dates, and overall structure, next we were familiarized with the fundamentals of Kotlin.

Towards the end, we had a live QnA session where the ASJ facilitator answered all our queries regarding ASJ.

In the preceding session, there was a demonstration of Kotlin code snippets and a walkthrough covering the first few units with Introduction to Android Studio, the know-hows of using it to create an empty activity and project.

Then we moved on to learning about Layout and RecyclerView, Activities and Intents, Activity Lifecycle, Fragmentation, and Data Binding with live coding demonstrations of each topic. Overall the second session was very productive and well presented.

In the third session, we delved deeper into Android with Kotlin, a continuation of Session 1.

The speakers in this session demonstrated the use of Coroutines in action, HTTP/REST methods, Data Persistence, Room Library, and Work Manager which eventually turned up a helping hand making things even more clear.

The most interesting among all the sessions was the bonus session regarding the importance of UI/UX in Android. This session was a boost up for all design enthusiasts and tech freaks ready to provide a seamless user experience while building Android apps.

We learned what UI/UX is, the popular design terminology used in the industry, the benefits of UX design, the types of UX profiles as well as various Tools and Resources, Live app prototyping using wireframing, and mockups using Figma (a design tool), which concluded with a live QnA session with the speaker Ashish Kumar Behera (App Dev lead at GDSC-VSSUT).

It was insightful as well as knowledge-oriented.

Being a participant of the Android Study Jam, I would say,

“Thank you GDSC VSSUT for the great android experience and the excellent support given by you and your team's hard work, effort, and creativity in organizing and managing the whole Android Study Jam. I would like to thank Abhipsa Swain, (GDSC-VSSUT lead and Android Study Jam facilitator) for your idolized mentorship, time, and dedication towards imparting a rich learning experience for everyone by initiating this event.”

I can’t wait to attend the forthcoming GDSC-VSSUT events.

GDSC-VSSUT Chapter link — https://gdsc.community.dev/veer-surendra-sai-university-of-technology-vssut-burla/

Have a great time exploring the ocean of Android!

Priyansh Khodiyar

references —

  1. https://levelup.gitconnected.com/benefits-of-kotlin-over-java-backend-and-android-1aa61eaad337

--

--

Priyansh Khodiyar
DSC VSSUT

I write highly researched technical articles on things I daily learn, sometimes code, and interview people. My DevOps publication - unyaml.com