What you need to start programming Android apps
To build Android apps, you need three things: Android Studio (the official development environment from Google), the Android SDK (software development kit — a collection of tools and libraries), and Java or Kotlin (the programming languages Android uses). Android Studio includes the SDK, so downloading Android Studio gives you most of what you need in one package.
Your computer should have at least 8 GB of RAM and 4 GB of free disk space. Android Studio runs on Windows, Mac, and Linux. You do not need an Android phone to test your apps — Android Studio includes an emulator that simulates a phone on your computer screen.
If you have never programmed before, start with Kotlin. Google officially recommends Kotlin for new Android projects, and it has simpler syntax than Java. If you already know Java, you can use that instead — both languages work equally well for Android development.
Key Takeaways
- Download Android Studio from Google's official website, which includes the Android SDK and emulator you need to build and test apps.
- Learn either Kotlin or Java before starting Android development — Kotlin is simpler for beginners, but both are widely used.
- Android Studio projects are organized into folders for code, resources (images and layouts), and configuration files that control how your app behaves.
- The emulator lets you test your app on a simulated phone without owning an Android device, though testing on a real phone is faster once you have one.
- Your first app will likely be a simple screen with a button or text field — this teaches you how Android connects code to what users see on screen.
Installing Android Studio and the Android SDK
Go to developer.android.com and download Android Studio for your operating system. Run the installer and follow the setup wizard. When the installer asks which components to download, accept the default selections — this includes the Android SDK, the emulator, and build tools.
The first download takes 10 to 30 minutes depending on your internet speed. Android Studio will ask you to accept Google's license agreements. After installation completes, open Android Studio and let it finish downloading SDK components in the background — this can take another 10 to 15 minutes.
Once Android Studio opens fully, you will see a welcome screen with options to create a new project or open an existing one. You are now ready to build your first app.
Creating your first project and understanding the structure
Click "New Project" on the welcome screen. Android Studio will show you a list of templates. For your first app, choose "Empty Activity" — this gives you a blank project with the minimum code needed to run.
The wizard will ask for a project name (use something simple like "MyFirstApp"), a package name (usually your reverse domain, like "com.example.myfirstapp"), and where to save the project on your disk. Choose Kotlin as the language. Leave other settings at their defaults and click Finish.
Android Studio creates a folder structure with several key parts. The app/src/main/java folder holds your Kotlin or Java code. The app/src/main/res folder holds resources — images, colors, and layout files that define what users see. The AndroidManifest.xml file tells Android what your app does and what permissions it needs.
Understanding layouts and connecting code to the screen
When you create a new project, Android Studio generates a file called activity_main.xml in the res/layout folder. This file describes what appears on the screen — buttons, text fields, images, and how they are arranged. You edit this file in the Layout Editor, a visual tool where you drag and drop elements onto a phone-shaped preview.
Your app's code lives in MainActivity.kt (or MainActivity.java if you chose Java). This file contains a class that controls what happens when the app runs. The onCreate method runs when the app starts — this is where you tell Android to display your layout file.
To make a button do something, you write code in MainActivity that "listens" for the button tap and runs a function in response. For example, you might write code that changes the text on the screen when the user taps a button. This connection between the layout file and the code file is how Android apps work.
Writing your first lines of code
Open MainActivity.kt. You will see code that looks like this:
class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) } }
The line setContentView(R.layout.activity_main) tells Android to display the layout you designed in activity_main.xml. Everything inside the onCreate function runs when the app starts.
To add a button that does something, first open activity_main.xml and add a Button element. Then return to MainActivity.kt and add code that finds that button and listens for taps. For example, you might write code that shows a message when the button is pressed. This is the foundation of how Android apps respond to user actions.
Testing your app with the emulator
Click the green play button in Android Studio's toolbar. A dialog will appear asking which device to run on. If no emulator exists yet, click "Create New Virtual Device." Choose a phone model (Pixel 4 is a good default), then choose an Android version (API level 30 or higher works well). Click Finish.
Android Studio will launch the emulator — a window showing a simulated phone. Your app will install and run on this simulated phone. You can tap buttons, type text, and test everything just as you would on a real phone. The emulator is slower than a real device, but it is free and does not require you to own an Android phone.
If you own an Android phone, you can test on the real device instead. Connect it to your computer with a USB cable, enable Developer Mode in the phone's settings, and Android Studio will let you run your app directly on the phone. Testing on a real device is faster and shows you how your app actually performs.
Common next steps after your first app
Once you have a working app with a button, the next steps are usually: adding more screens (called Activities), storing data so it persists when the app closes, connecting to the internet to fetch data from a server, and learning about different types of layouts for phones and tablets.
Google provides free tutorials and sample code at developer.android.com/courses. The "Android Basics in Kotlin" course walks through building real apps step by step. YouTube channels like "Coding in Flow" and "Philipp Lackner" have detailed video tutorials for beginners.
Join communities like r/androiddev on Reddit or the Android subreddit to ask questions. Most Android developers started exactly where you are — with Android Studio installed and a blank project open.
Frequently Asked Questions
Do I need to know Java before learning Kotlin?
No. Kotlin is designed to be easier to learn than Java, and you can start with Kotlin even if you have never programmed. If you already know Java, Kotlin will feel familiar because it runs on the same system. Either language works for Android development.
Can I test my app without downloading the emulator?
Yes, if you have an Android phone. Connect it to your computer with a USB cable, turn on Developer Mode in the phone's settings, and Android Studio will run your app on the real device. This is actually faster than the emulator, though the emulator is useful for testing on different phone sizes and Android versions.
What is the difference between an Activity and a Layout?
A Layout (activity_main.xml) describes what appears on screen — buttons, text, images, and their positions. An Activity (MainActivity.kt) is the code that controls what happens when the user interacts with those elements. Together they form one screen of your app.
How long does it take to build a real app?
A simple app with one or two screens takes a few weeks if you are learning as you go. A more complex app with multiple screens, data storage, and internet connectivity takes months. The time depends on what your app does and how much you already know about programming.
Is Android Studio free?
Yes. Android Studio, the Android SDK, and all the tools you need to build and publish apps are free from Google. You do not pay anything to develop Android apps.