Open In App

Android Tutorial

Last Updated : 27 Sep, 2025
Comments
Improve
Suggest changes
140 Likes
Like
Report

Android is one of the most widely used mobile operating systems in the world. It’s open-source, highly customizable, and backed by a strong development community. Whether you're building your first app or expanding your skills, Android offers powerful tools and a flexible platform for creating modern mobile experiences.

Android is:

  • A Linux-based, open-source operating system used on smartphones, tablets, smart TVs, wearables, and more.
  • Known for its versatility and global reach powering billions of devices in over 190 countries.
  • Supported by a rich set of development tools, libraries, and frameworks that help streamline app creation from UI design to performance optimization.

Prerequisites for Android

Before learning Android development, it’s important to build a basic foundation for the dedicated languages and tools. This will make your learning smoother and help you avoid confusion later. Below are the detailed prerequisites you should be familiar with:

1. Basic Programming Knowledge (Preferably in Java or Kotlin)

Android apps are primarily built using Kotlin or Java. You should have a good grasp of Variables, Data Types, Control Structures (if/else, switch, loops), Functions/Methods, and OOP Concepts.

Refer to the following article to learn more about Kotlin and Java.

2. Familiarity with XML

UIs in Android apps are mostly designed using XML files. Basic knowledge of XML (Extensible Markup Language) will help you define UI components and understand resource files in Android projects.

Refer to XML | Basics to learn more about XML.

3. Understanding of Object-Oriented Programming (OOP)

Before diving into Android Development, you should have a solid understanding of the backbone of Android Development such as Classes and Objects, Constructors, Inheritance, Interfaces, and Abstract Classes.

Refer to the following article to learn more about OOPs Concepts in Android

4. Familiarity with the Android Studio IDE

Android Studio is the official IDE created for developing Android applications. It is based on the JetBrains' IntelliJ IDEA software.

Refer to the following article to get more familiar with the Android Studio IDE.

First Android Application

Here is a simple code for creating a simple Android Application to display a text that says "Hello World". We recommend you to edit the code and try to print your own name.

MainActivity.kt
package org.geeksforgeeks.demo

import android.os.Bundle
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        enableEdgeToEdge()
        setContentView(R.layout.activity_main)
    }
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    tools:context=".MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!" />

</LinearLayout>


Output:

android-studio-hello-world


1. Android Basics

2. IDE Setup and Configuration

Android Studio is the official Integrated Development Environment (IDE) for Android app development, built on JetBrains IntelliJ IDEA. Let's check some topics to work in the IDE efficiently.

3. File Structure

File Structure or Directory Structure of a application is the organization of various files and folders in an Android project, ensuring efficient development and management.

4. Components

Components are building blocks of an Android application, each responsible for specific functions. There are 4 main components of Android application mentioned below:

5. Core Topics

6. Layouts

Layouts are responsible for defining the structures and arrangements of elements in an Application. It helps to organize views in a hierarchy, allowing for responsive and flexible design. Check on the article Layouts in Android UI Design and some common types are mentioned below.

7. Components or Views

Views are UI components used to display content or handle user interactions, such as buttons, text fields, and images. They are the building blocks of the user interface, allowing developers to design layouts and define app behavior.

ScrollViews -

GridViews -

Others -

8. Buttons

A Button is an UI element that triggers an action when clicked or tapped by the user. There are variety of button types available in Android. Check on the article for Button in Android and also its types.

To learn about extra features refer to the following articles:

9. Intent and Intent Filters

Intent is a messaging object used to request an action from another component, such as opening an activity, sending data or starting a service, while Intent Filters are the one which specify the types of intents that component can handle.

Explicit:

Implicit:

10. Toast

A Toast in Android is a small, pop-up message that appears briefly on the screen to provide feedback to the user.

11. RecyclerView

RecyclerView is a ViewGroup added to the android studio as a successor of the GridView and ListView. It is flexible and efficient view for displaying large sets of data in a scrollable list.

12. Fragments

Fragments in Android are reusable UI components that represent a portion of a user interface in an activity. To learn Fully about Fragments check on Introduction to Fragments article and then move on to Lifecycle for it.

13. Adapters

Adapters in Android are used to bind data to UI components like ListView, GridView, or RecyclerView. It acts as a bridge for converting the data into views that are displayed in the screen.

14. Other UI Component

Spinner

AlertDialog

Switcher

Android Notification

Android Menu

15. Image Loading Libraries

Image Loading Libraries are responsible for simplify the process of loading and displaying the images from the external sources can be Urls or Storage(External). Let us check on some commonly used libraries mentioned below.

16. Date and Time

17. Material Design

Material Design in Android is a design system that guides the creation of intuitive, visually appealing, and responsive user interfaces.

18. Bars

Bars in Android refer to UI elements that provide system-level functionality and navigation within an app.

19. Chart

Charts in Android are visual representations of data, such as bar charts, line graphs, and pie charts, used to display information in a more accessible and engaging way.

20. Working with Database

Database in Android refers to storing, retrieving, and managing data within an app using different methods. Now, we have different option available while using database, some of the commonly used databases are Firebase, SQLite ,etc. Let us check them one by one.

Firebase

SQLite

Room DB

21. Android Jetpack

Jetpack in Android is a set of libraries, tools, and guidance to help developers follow best practices and reduce boilerplate code.

Jetpack Compose -

To learn more about Jetpack Compose refer to Jetpack Compose Tutorial

22. Android Architecture

Architecture in Android refers to the structured design patterns and best practices used to create maintainable, scalable, and testable Android applications.

23. Advance Android

Let us learn more about advance topics like Storage, Volley, Threading and Multithreading related to Android which needs the prior knowledge about the topics mentioned above.

Storage

JSON and Volley

Threading and Multithreading

24. Kotlin Topics

Some Features of Android are more suitable and limited to Kotlin Language.

25. Miscellaneous

26. Android Interview Preparation

27. Android Projects

Practice your Android Knowledge with the projects that includes both beginner and advance level of control over the concepts.

Conclusion

In conclusion, this Android tutorial serves as a comprehensive resource for beginners and experienced developers alike. By following the step-by-step instructions and leveraging the power of Android Studio, learners can acquire a solid foundation in Android app development. From understanding the fundamentals to exploring advanced concepts, this tutorial equips individuals with the necessary knowledge and skills to embark on their journey in the world of Android development. With continuous practice, staying updated with the latest trends, and actively engaging with the Android community, readers can unlock endless possibilities to create innovative and impactful mobile applications. Start your Android development journey today and embrace the opportunities that this dynamic platform offers.


Article Tags :

Explore