Android Tutorial

Last Updated : 23 Feb, 2026

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.

  • 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

Before starting this Android tutorial, make sure you understand the topics listed in the links below. This basic knowledge will help you learn Android development more easily.

Refer to the following article to learn more about Kotlin, Java, XML | Basics, OOPs Concepts in Android and 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

Basics

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.

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.

Components

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

Core Topics

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.

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 -

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:

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:

Toast

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

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.

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.

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.

Other UI Component

Spinner

AlertDialog

Switcher

Android Notification

Android Menu

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.

Date and Time

Material Design

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

Bars

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

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.

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

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

Android Architecture

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

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

Kotlin Topics

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

Miscellaneous

Android Interview Preparation

Android Projects

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

Comment
Article Tags:

Explore