Home โ€บ Guides

Android App Development for Beginners (2026): From Zero to Your First App

Advertisement

Introduction

Want to make your own phone app but not sure where to start? This Android app development guide starts from zero โ€“ you don't need any programming background. We'll install the tools, learn the basics of Kotlin and build a first app with a button that really changes a number on your phone.

By the end you will:

What is Android app development, and why learn it in 2026?

Android app development means building programs that run on Android devices โ€“ phones, tablets, Wear OS watches and TVs. Android is the most used operating system in the world, and in many countries, including Thailand, most phones run it.

Reasons to start now:

What you need before you start

All you really need is a capable computer and an internet connection; every tool is a free download.

ItemMinimumRecommended
Operating systemWindows 10/11 64-bit, macOS, LinuxThe latest version of each
RAM8 GB16 GB or more (the emulator uses a lot)
Disk space8 GB free30 GB or more free on an SSD
CPUSupports virtualizationRecent Intel/AMD or Apple Silicon
Android phoneOptionalTesting on one is faster than the emulator

You don't need to install a JDK separately โ€“ Android Studio comes with one. For the latest requirements see the Android Studio download page.

Tip: with only 8 GB of RAM, test on a real phone instead of the emulator โ€“ it is much smoother.

Kotlin or Java? Which language should beginners choose?

The short answer: start with Kotlin. Google made Android Kotlin-first in 2019, and its documentation, samples and new libraries such as Jetpack Compose are all designed for Kotlin.

TopicKotlinJava
Code lengthShort and readableLonger
Null safetyBuilt into the language, fewer crashesYou check it yourself
Jetpack ComposeFully supportedNot available
Google samplesAlmost allFewer and fewer
Existing codeWorks together with Javaโ€”

5 Kotlin basics to know before building apps

// 1) Variables: val = read-only, var = can change
val appName = "My First App"
var count = 0

// 2) Functions
fun greet(name: String): String {
    return "Hello $name"
}

// 3) Conditions
val label = if (count > 10) "That's a lot" else "Not many yet"

// 4) Null safety: ? means the value may be null
var email: String? = null
val length = email?.length ?: 0

// 5) A data class holds data
data class Product(val name: String, val price: Double)

You don't have to memorise it all now โ€“ it sticks better while you build real apps. To try Kotlin without installing anything, use the Kotlin Playground in your browser.

How to install Android Studio, step by step

Android Studio is the main program for writing, testing and building Android apps. Install it once and you're set for a long time.

  1. Go to developer.android.com/studio and download the latest Stable version
  2. Windows: run the .exe and click Next with the defaults. macOS: drag the icon to Applications
  3. On first launch the Setup Wizard opens โ€“ choose Standard and wait while it downloads the Android SDK, the emulator and other tools (10โ€“30 minutes, depending on your connection)
  4. Accept all licences and click Finish
  5. When you see Welcome to Android Studio, you're ready

If the emulator doesn't start, virtualization is usually switched off in the BIOS. Turn on Intel VT-x or AMD-V there (on Windows, also enable Windows Hypervisor Platform).

Build your first app with Jetpack Compose

Jetpack Compose is the modern way to build Android screens that Google recommends. You write screens as Kotlin functions instead of XML layouts, and the screen updates by itself when the data changes.

Step 1: create a new project

  1. On the Welcome screen click New Project
  2. Choose the Empty Activity template (the one with the Compose logo) and click Next
  3. Name it, for example CounterApp, with a package name such as com.example.counterapp
  4. Keep Kotlin as the language and the suggested Minimum SDK, then click Finish
  5. Wait for the first Gradle Sync to finish (the spinner in the bottom-right corner stops)

Step 2: write a counter app

Open MainActivity.kt and replace its contents with this code:

package com.example.counterapp

import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.*
import androidx.compose.material3.*
import androidx.compose.runtime.*
import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            MaterialTheme {
                CounterScreen()
            }
        }
    }
}

@Composable
fun CounterScreen() {
    // rememberSaveable keeps the value even when the screen rotates
    var count by rememberSaveable { mutableIntStateOf(0) }

    Column(
        modifier = Modifier.fillMaxSize().padding(24.dp),
        verticalArrangement = Arrangement.Center,
        horizontalAlignment = Alignment.CenterHorizontally
    ) {
        Text(text = "Pressed", fontSize = 20.sp)
        Text(text = "$count times", fontSize = 48.sp)
        Spacer(modifier = Modifier.height(24.dp))
        Row(horizontalArrangement = Arrangement.spacedBy(12.dp)) {
            Button(onClick = { count++ }) { Text("+1") }
            OutlinedButton(onClick = { count = 0 }) { Text("Reset") }
        }
    }
}

@Preview(showBackground = true)
@Composable
fun CounterPreview() {
    MaterialTheme { CounterScreen() }
}

How this code works

The counter app running on a phone โ€“ Jetpack Compose
Figure 1: the counter app and the code that draws each part

Tap +1 three times and the number becomes 3 right away, because Compose redraws the screen whenever state changes. Try changing the text or the font size and watch the Preview update โ€“ it's the fastest way to learn.

The Android project structure beginners should know

Open the Project panel on the left and pick the Android view: only a few files really matter.

File / folderWhat it does
app/src/main/java/.../MainActivity.ktThe app's main code and screens
app/src/main/AndroidManifest.xmlDeclares the app name, icon, screens and permissions such as camera or internet
app/src/main/res/Images, icons, texts (strings.xml) and colours
app/build.gradle.ktsApp settings such as versionCode, minSdk and the libraries you use
gradle/libs.versions.tomlAll library versions in one place

Tip: put every text the user sees in strings.xml โ€“ it makes a multi-language app easy later.

Run your app on the emulator and on a real phone

On the emulator

  1. Open Device Manager (the phone icon on the right) and click + โ†’ Create Virtual Device
  2. Pick a model such as Pixel, choose the latest recommended system image, click Download, then Finish
  3. Select the new device in the toolbar and press Run โ–ถ (Shift + F10)

On a real phone

  1. Open Settings โ†’ About phone and tap Build number 7 times until it says you are a developer
  2. In Developer options, turn on USB debugging or Wireless debugging
  3. Connect the phone by USB and tap Allow on the phone
  4. The phone appears in the device list โ€“ select it and press Run

That's it โ€“ your counter app is now on a real phone.

Key concepts to learn after your first app

Almost every real app uses these five things; once you understand them you can build genuinely useful apps.

ConceptWhat it's forReal-app example
StateData that makes the screen changeThe number of items in a cart
NavigationMoving between screensList screen โ†’ detail screen
ViewModelKeeps logic out of the UI; data survives rotationLoading a product list
RoomAn on-device database that works offlineSaving stock records
Retrofit / KtorFetching data from internet APIsGold prices, weather forecasts

Real examples: StockApp, a shop inventory app, uses an on-device database to work offline, and Fieldwork uses the camera and GPS to record field work. Both are built on the same basics as this guide.

A 3-month roadmap to learn Android development

At 1โ€“2 hours a day, this path takes you from zero to an app on Google Play in about three months.

  1. Weeks 1โ€“2: Kotlin basics โ€“ variables, functions, classes, lists and null safety
  2. Weeks 3โ€“4: Compose basics โ€“ Text, Button, Column/Row, LazyColumn for lists, and state
  3. Weeks 5โ€“6: several screens โ€“ Navigation Compose and ViewModel
  4. Weeks 7โ€“8: storing and fetching data โ€“ Room, DataStore and Retrofit
  5. Weeks 9โ€“10: a real project โ€“ build one app of your own, such as an expense tracker, a checklist or a small inventory app
  6. Weeks 11โ€“12: publishing โ€“ icon, store graphics, privacy policy and upload to Google Play

Recommended free resources

How to publish your app on Google Play

A Google Play developer account costs a one-time fee of 25 US dollars, and new personal accounts must pass closed testing before they can publish.

  1. Sign up for the Google Play Console and verify your identity with an ID card or passport
  2. In Android Studio choose Build โ†’ Generate Signed App Bundle to create an .aab file with a keystore (keep the keystore and its passwords safe โ€“ losing them makes updates very hard)
  3. Create the app in Play Console and fill in the store listing, icon, screenshots and privacy policy link
  4. Personal accounts created after 13 November 2023 must run closed testing with at least 12 testers for 14 days in a row before applying for production (Google's requirement)
  5. After 14 days, click Apply for production, wait for Google's review, and your app goes live

Tip: recruit more than 12 testers โ€“ if you drop below 12 even for one day, the 14-day count starts again. For an example of recruiting testers, see GuardPass, which is in closed testing now.

7 common mistakes beginner Android developers make

  1. Skipping Kotlin basics and pasting code they can't fix when it breaks
  2. Learning from old articles that still use XML and Java, which clashes with today's approach โ€“ always check the date
  3. Not reading Logcat โ€“ the red error messages in the Logcat tab explain almost every crash
  4. Putting everything in MainActivity instead of small composable functions and a ViewModel
  5. Forgetting permissions such as camera or internet in AndroidManifest.xml
  6. Starting with a project that's too big โ€“ a small app you can finish in 1โ€“2 weeks is better
  7. Not using Git โ€“ keep your code on GitHub from day one so you can roll back, and use it as a portfolio

Frequently asked questions

Can I learn Android app development with no programming experience?

Yes. Spend 1โ€“2 weeks on Kotlin basics, then follow Google's Android Basics with Compose course, which is made for complete beginners.

What computer do I need to build Android apps?

At least 8 GB of RAM, but 16 GB and an SSD are recommended. On a slower machine, test on a real phone instead of the emulator.

Can I build Android apps on a MacBook?

Yes. Android Studio runs on Windows, macOS and Linux, including Macs with Apple Silicon.

Should I learn Kotlin or Flutter?

If your goal is Android itself or an Android developer job, learn Kotlin. If you want Android and iOS apps from one codebase, Flutter or Kotlin Multiplatform are good choices.

How much does it cost to publish an app on Google Play?

A one-time developer registration fee of 25 US dollars. There is no yearly fee.

How long until I can build my own app?

At 1โ€“2 hours a day, in about 2โ€“3 months you can build a simple, useful app and put it on Google Play.

Summary

Starting Android app development in 2026 is easier than ever: install Android Studio, learn basic Kotlin and build screens with Jetpack Compose, and you can have your first app on your phone in a day. Then add Navigation, a ViewModel and a database following the 3-month roadmap until your own app is on Google Play.

Start today: open Android Studio, build the counter app from this guide, and add a โˆ’1 button as your first homework. Want to see what real Android apps look like? Have a look at Prasansoft's Android apps.

References

Advertisement