How to start Android development from scratch (practical guide)
What to learn first, which tools to install and a 6-week plan to build your first Android app with Kotlin and Jetpack Compose, for free.
Android runs on most of the world's phones, which makes it a great place to start building apps. You don't need prior experience: you need a plan and consistency.
What you need before starting
- A computer with 8 GB of RAM or more (Windows, macOS or Linux).
- Android Studio, Google's free official editor. It includes an emulator so you can test apps without a phone.
- About 10 hours a week. A little every day beats 8 hours on a Sunday.
The language: Kotlin
Kotlin is Google's recommended language for Android. It's modern, shorter than Java and prevents many common bugs, like the famous NullPointerException.
Start with the basics: variables, conditionals, loops, functions, lists and classes. Practice with small exercises before touching screens.
The screens: Jetpack Compose
Android interfaces are now built with Jetpack Compose: you describe the screen with Kotlin functions and Compose draws it. Learn in this order:
Text,Button,Imageand arranging them withColumn,RowandBox.- State: making the screen change when the user taps something.
- Lists with
LazyColumn. - Navigation between screens.
A 6-week plan
| Week | Topic | Result |
|---|---|---|
| 1 | Kotlin and Git | Solved exercises and your first repository |
| 2 | Compose basics | A screen with a list |
| 3 | State, ViewModel and navigation | A two-screen app |
| 4 | Networking with Retrofit and coroutines | An app that calls an API |
| 5 | Room and Hilt | Data saved on the phone |
| 6 | Final project | A portfolio app |
Common beginner mistakes
- Jumping into long tutorials without practicing. Write code every day, even a little.
- Copying without understanding. If you copy something, rewrite it later without looking.
- Skipping Git. Push your projects to GitHub from day one: it's your portfolio.
Next step
Codea's free Android Developer Jr route follows exactly this plan, with free videos, challenges, quizzes and teacher reviews. Route content is in Spanish.
Videos, hands-on challenges, quizzes and teacher reviews (route content is in Spanish).