DEV Community

loading...
Cover image for What to Learn to get started with Android App Development?

What to Learn to get started with Android App Development?

ROHIT KUMAR
Programmer and Android developer, Loves to Blogg. On a Mission for reducing the complexity of learning by explaining complex things in the easiest possible way. “Every programmer is an author.”
・6 min read

Yes!🤔 This question might confuse every beginner whenever they are thinking of to starting a new journey here.
So, if you’re one of those enthusiasts here's my article to help you getting started with android app development.

Choose a Platform

Mobile development is a broad field and therefore this means there are multiple ways to develop an application i.e this question has more than one answers. Basically the whole mobile development community works on two fronts, one is Native development and Cross-Platform development

mobile logo

  • Android development -> using Kotlin and Java

  • IOS development -> using Objective C and Swift

  • Cross-Platform -> using Flutter,Ionic,Xamarin,React-Native,etc
    First two points is an example for Native and the Third one for Hybrid

By Native Development it means that is built for one specific platform. Hence written in languages compatible with the platform For instance, native Android app run on Android OS only Whereas native iOS apps run on iOS only.
With Cross-platform Development one's can write code once and run on different platforms. Hence specialized tools are taken into service, can run on both iOS and Android platforms.

For someone new to mobile development, its better to learn native first then move to cross-platform technologies( if you want to ),
As of now better hybrid technologies are React-Native and Flutter and to my understanding that to be good in these we need a pretty strong understanding on native mobile development.

So, keep this Native vs Cross-Platform for some others day topic
However this blog is focused in Native way of Android development

Learn a LANGUAGE

For the languages, you can develop android apps either by using Kotlin or Java, Hence another confusing part for beginners.
You need to learn basic of any programming language before getting started with android such as OOPS and other such underlying concepts
kotlin n java

1.JAVA

  • Java was the first official programming language that is used to develop android apps.
  • The support community and user base is more in Java its older than Kotlin.
  • Android is the framework written in Java, so to code android android application you need to learn java and make yourself familiar with the syntax

2.KOTLIN

  • Launched by JetBrains, who created IntelliJ IDE and it too runs on JVM
  • Google in May 2017 announced Kotlin as the official language of Android App Development
  • Kotlin made android app development much easy as the length of the code had decreased than Java , and other such features
  • For a android developer Kotlin should be the language of choice nowadays

As time is changing the companies are shifting to Kotlin. Hence its most preferred since it offers a lot as compared to Java. Google also offers a lot of support to Kotlin, like many new Jetpack APIs and features will be offered first in Kotlin.

BUT for beginners in android with no experience with any line of codes or any other programming language first learn Android development inJava, then switch to Kotlin.

3.XML(Extensible Markup Language)

  • XML is important used to design UI/UX of an app its, presentation, layouts,etc
  • Since its markup language its work is to describes data and introducing elements like sets the layout of things like buttons and images, and defines the font, color, and any text.

To recap, XML describes the views in layout, and Java/Kotlin tells them how to behave.
Its not needed to learn in depth beforehand you can learn along the way.

ANDROID SDK

  • Android SDK stands for Android Software Development Kit which is developed by Google for Android Platform.
  • Android SDK is a collection of libraries and Software Development tools helps to create android Apps easily.
  • Its includes necessary utilities to help Android developers calling different APIs developed by Google both for controlling the device's functions and for integrating services
  • Component of the Android SDK such as Gradle,emulator,build tool,platform tool ,etc.

Using an IDE Android Studio

There are many IDE available for development,but
It’s unquestionably the best IDE (Integrated Development Environment) for Android
Android Studio is a must have for both the beginner and experienced Android developer.

Aandroidst

  • Built on top of IntelliJ IDE,developed by Google for android application development.
  • Google on 16th May 2013 announced as a official IDE for Android app development.
  • Its comes with great out-of-the-box support for many of the most common Android SDKs.
  • It has advanced tools like memory monitors,CPU monitors,Code debuggers,Code completion,etc helping developers make sure their code will maintain high performance on a mobile device.

Start with android

After just understanding the basics of the above listed ,it is now time to get your hand dirty. Hence just install Android Studio and start developing an app, As Practice together along with theory is one of the best ways of learning.
A
One of the important skill as an android developer is of reading and searching for answer ,For development Android provides the most important and incredible documentation:-
Android Documentation

You won’t understand and remember everything for the first time, ones has to browse this sites millions time and each time you will become one step better version from your previous

Here's the link of bunch of resources you can go through
1.Android basics in Kotlin-Free course by Google , you'll learn the basics of building Android apps with the Kotlin.
2.Developing Android Apps with Kotlin - Its an Udacity course by
Google.
3.Android Basics: User Interface -Learn the basics of Android and Java programming this courses doesn't require any prior knowledge in coding. One with no experience with any lines of code can also start here
4.Android codelabs - Its practical codelabs course by Google,finds a lot of helpful examples.


SOMETHING MORE

NOW ,this section is once you have started Android development and getting familiar, too with some Techincal terms
List of some important terms which you will find along the way -

1.Understand Material Designs

materialxt

  • Google has released a set of forward-thinking interface guidelines and standards called Material Design, to help build consistent and high quality app UI and give aesthetic look .
  • These standards include tips for how to layer various elements on the screen and use specific styles and highlights the best practices for we can use
  • Try to feel it. Be the material. Think like material. Behave like material. You shouldn’t miss this point while getting started with Android.

2.Gradle build

Alt Tfradleext

  • Gradle is another build system that takes the best features from other build systems and combines them into one.
  • “Build.gradle” are scripts where one can automate the tasks.
  • For example, the simple task to copy some files from one directory to another can be performed by Gradle build script before the actual build process happens.
  • Every Android project needs a gradle for generating an apk from the .java and .xml files in the project.

3.Learn Version Control

gitext

  • There are multiple Version Control Systems available but Git is the most common one these days.
  • These are tools that enables you to keep your code and also track your progress.
  • Resource for learning Version Control with Git
  • Showcasing your project you can learn and build the portfolio on github

5. AND there is many more

  • like for Database connectivity Firebase is there
  • you’ll likely want to interact with many other services through APIs Jetpack libraries are there.

This list don't ends here ,
When one picks up a career in tech they commit themselves to lifelong learning, and one thing for sure you will love it , as these technologies there only to help you and make your app developing process easier.


Now here providing the flowchart-

roadmap

Remember to not be exhausted by the list, just learn the basics and start working on some project, rest of the learnings will come along the way. Good luck!

Personal Tips -If you want to start then, one of the best habits is that start reading articles regarding the application development.

Now we came to an end of the article
I hope you found this article valuable. If yes do let me know in the comments 😊

THANK YOU!

You can follow me on:
Twitter
Linkedin

Discussion (18)

Collapse
hasnaindev profile image
Muhammad Hasnain

Wow. Looking at the roadmap, it seems that android app development is far more simpler compared to web development. The roadmap image that you shared above is from here: roadmap.sh/android.

Compare it with frontend roadmap alone and you'll see that web development is very tough! Of course, android development will have its own eco-system and complexities.

Who knows, maybe I'll start doing android development in the future, but let's see. Thanks for writing the post.

Collapse
rohitk570 profile image
ROHIT KUMAR Author • Edited

Yeah frontend roadmap seems quiet overwhelming but to be sure, I felt the same way when I started android , then after understanding it to some extent , I can say every field has there own complexities and there own advantages ,but half of the complexities can be made simpler just by understanding it in correct order.

Purpose of my blog is fulfilled as when you said its simpler ,Thank you 😊.
And yeah definitely you should tryout android , its far more interesting, as of for me,
would love to see you joining the Android community .

Collapse
raychginge profile image
Rachel Bourne

Wow! Just when I was wondering where to go after learning some Kotlin! Thankyou so much for this guide :)

Collapse
rohitk570 profile image
ROHIT KUMAR Author

You're Welcome ,and glad that you considered it

Collapse
geekykiran profile image
Geekykiran

Awesome man. It was my first I came across when I thought to know the procedure. Thanks for the roadmap

Collapse
rohitk570 profile image
ROHIT KUMAR Author

Glad you find this useful!

Collapse
rash123 profile image
RASHMI VERMA

Good explaining 😊😊

Collapse
rohitk570 profile image
ROHIT KUMAR Author

Thank you very much

Collapse
cenacr007_harsh profile image
KUMAR HARSH

Very detailed and well written.

Collapse
rohitk570 profile image
ROHIT KUMAR Author

glad you like it.

Collapse
rash123 profile image
RASHMI VERMA

Awesome 👍

Collapse
rohitk570 profile image
ROHIT KUMAR Author

Thank you 😊

Collapse
darshil_4196 profile image
Darshil Shah

Your article helped me a lot. Thanks!

Collapse
rohitk570 profile image
ROHIT KUMAR Author

Glad you like it .

Collapse
cenacr007_harsh profile image
KUMAR HARSH

Awesome Guide

Collapse
rohitk570 profile image
ROHIT KUMAR Author

Thanks

Collapse
vivekku36049297 profile image
Vivek kumar singh

Heavy content... Lg rha hai bhai

Collapse
rohitk570 profile image
ROHIT KUMAR Author

Indeed