Techbase Academy
Android · Lesson 01

Welcome to Android Development: What Android Is and How This Course Works

11 phasesMy Android Learning PlanAndroid Studio
Phase 1 of 11
Lesson Introduction

Welcome to the Google Android Studio course at Techbase Academy! Over the next 72 lessons you will go from "I have never written code" to "I can design, build, test and publish a real Android app". This first lesson has no installation and no typing marathon. Its job is to give you a map: what Android actually is, how an app travels from your keyboard to somebody's phone, and how this course is organised so you always know where you are.

Think of it like arriving in a new city. Before you rent a flat and learn the bus routes, you look at a map and learn the names of the main districts. Once you know where the market, the motor park and the school are, every later street makes sense.

By the end of this lesson you will be able to:

  • Explain in plain language what Android is and who makes it.
  • Describe the layers of the Android software stack, from the Linux kernel up to your app.
  • Explain what an APK and an AAB are and why Google Play prefers bundles.
  • Explain what ART is and why your Kotlin code needs a "translator" on the phone.
  • Name the languages and tools Android developers use today, and why this course uses Kotlin and Jetpack Compose.
  • Read a tiny Android app (manifest, activity and Compose function) without being afraid of it.
  • Describe the three levels and the six official programmes this course follows.
  • Prepare your computer, your account and your mindset for lesson 02.

How this fits the bigger picture: This lesson matches the opening items of Unit 1 in Google's official Android Basics with Compose course: Welcome to Android Basics with Compose, Before you begin and Introduction to Android Studio. It also gives you an overview of everything in this course, which follows every programme on the official Android courses page. Official pages are linked at the end.

Why learn Android at all?

Android runs on billions of active devices worldwide, and in Nigeria and much of Africa it is by far the most common kind of smartphone. That means an app you build can reach real people: a school register for your community, a market price tracker, a booking tool for a salon, a fee reminder for a school. You do not need a company, a licence or a big laptop to start. You need patience, a computer that can run Android Studio, and a plan. This course is the plan.

✏️ Your Task
Practise what you just learned about Lesson Introduction. Open Android Studio, type the examples by hand, change a value, and observe what happens.
Phase 2 of 11
Prerequisite Concepts

You need very little. These are the only ideas we assume, and each is explained in a paragraph.

1. You can use a smartphone

You have used apps. You know that tapping an icon opens an app, that apps have screens, and that they sometimes ask permission to use your camera or location. That experience is your best starting point, because a developer is just someone who builds the things you already tap.

2. What is software?

Software is a set of instructions stored as files. The phone's processor follows those instructions. An app is software that a person can install and launch from the home screen. The operating system is also software; it is the program that runs all the other programs and shares the screen, battery, memory and network between them.

3. What is an operating system?

An operating system (OS) is the manager of the device. When two apps both want the screen, the camera or the battery, the OS decides who gets what. Windows, macOS, Linux, iOS and Android are all operating systems. Android is the OS in most phones, tablets, smart TVs, watches and car dashboards you will meet.

4. What is a programming language?

A programming language is a strict way of writing instructions so a machine can follow them. You will meet Kotlin properly in lessons 06 to 14. Today we only look at a few lines so that nothing feels mysterious later.

✏️ Your Task
Practise what you just learned about Prerequisite Concepts. Open Android Studio, type the examples by hand, change a value, and observe what happens.
Phase 3 of 11
Conceptual Understanding: What Android Is

Android is an open-source mobile operating system led by Google. "Open source" means the core code, the Android Open Source Project (AOSP), is published so manufacturers can build on it. Samsung, Tecno, Infinix, Xiaomi, Nokia and many others take that base, add their own look and features, and ship phones. Google then adds its own apps and services (Google Play, Maps, Gmail and more) on top for devices that meet its compatibility requirements. This is why two Android phones can look different and yet run the same apps.

The layers of Android

Android is built like a tall building. Each floor depends on the floors below it and offers services to the floors above it.

text
+--------------------------------------------------+
|  YOUR APP and other apps (Kotlin + Compose)      |  <- you work here
+--------------------------------------------------+
|  Android Framework (APIs: Activity, Intent,      |
|  notifications, location, camera, storage)       |
+--------------------------------------------------+
|  Android Runtime (ART)    |  Native libraries    |
|  runs your app's code     |  (graphics, media,   |
|                           |   SQLite, WebView)   |
+--------------------------------------------------+
|  Hardware Abstraction Layer (HAL)                |
|  a common way to talk to camera, audio, sensors  |
+--------------------------------------------------+
|  Linux kernel (drivers, memory, processes,       |
|  security, power management)                     |
+--------------------------------------------------+
|  HARDWARE: CPU, screen, battery, radio, sensors  |
+--------------------------------------------------+
Layer What it does Analogy
Linux kernel Talks to the hardware, manages memory, processes, security and power. The building's foundations and electrical wiring.
Hardware Abstraction Layer Gives the layers above one standard way to use a camera or sensor, whatever company made it. A universal plug adapter.
Android Runtime and native libraries Runs your app's code and provides fast low-level services such as graphics and databases. The engine room.
Android Framework The Java and Kotlin APIs you call every day: screens, notifications, permissions, location. The lift, the water and the power sockets that residents use.
Apps What users see and tap. The shops and flats.

As an app developer you almost always work on the top two floors. You rarely touch the kernel. But knowing the lower floors exist explains many things later, for example why your app is not allowed to read another app's private files (the kernel gives each app its own sandbox).

What is ART?

You write Kotlin, but a phone's processor does not understand Kotlin. The journey looks like this:

text
Kotlin source (.kt)
      |  Kotlin compiler
      v
Java bytecode (.class)
      |  D8 / R8 tools (dexing and shrinking)
      v
DEX bytecode (classes.dex) packed into the APK / AAB
      |  installed on the phone
      v
ART (Android Runtime): compiles and runs it on the device

ART, the Android Runtime, is the part of Android that runs your compiled app on the device. It uses a mix of strategies, including compiling code ahead of time and compiling frequently used code while the app runs, so apps start quickly and run smoothly. You do not need to manage that. What matters to you: your Kotlin code is turned into a compact format called DEX, and ART is what runs it on every phone.

APK and AAB: the two packages you will meet

When you build an app, Android Studio packages everything into a file.

Format Full name Who uses it
APK Android Package The installable file. You can copy an APK to a phone and install it directly. Debug builds on your own device are APKs.
AAB Android App Bundle The format you upload to Google Play. Google Play uses it to build optimised APKs for each device.

An APK is really a ZIP archive. It contains your compiled code, your images and layouts, and the manifest that describes the app. An AAB holds the same ingredients, but it lets Google Play generate a smaller download tailored to the user's phone, for example only the screen density and CPU type that phone needs. That matters a great deal for people on limited mobile data. You will build and publish a bundle in lessons 49 to 53.

Google Play and other ways to distribute

Google Play is the main store. Developers register, upload a bundle, fill in a store listing and publish. Apps can also be shared as APK files, through company-internal distribution or through other stores, but Play is where most users look. A whole programme of this course (Google Play Store Listing Certificate) covers it.

Languages and tools

Choice What Android developers use today What this course uses
Language Kotlin (Google's preferred language), Java (still supported), C and C++ for special cases Kotlin
UI toolkit Jetpack Compose (modern, declarative), classic Views with XML (older apps) Compose first; Views in lessons 42 and 43
IDE Android Studio, built on IntelliJ IDEA Android Studio
Build system Gradle with the Android Gradle Plugin (AGP) Gradle Kotlin DSL

Google announced in 2019 that Android development would be Kotlin-first. Jetpack Compose lets you describe a screen as Kotlin functions instead of writing separate XML files, so there is less to learn and less to keep in sync.

Think about it: Why might a phone maker want an operating system it does not have to write from scratch? (It saves years of work and lets thousands of developers build apps for its phones.)

✏️ Your Task
Practise what you just learned about Conceptual Understanding: What Android Is. Open Android Studio, type the examples by hand, change a value, and observe what happens.
Phase 4 of 11
A First Look at Real Android Code

You will not understand every line yet, and that is perfectly fine. The goal is to see that Android code is made of ordinary, readable pieces.

Piece 1: the manifest

Every app has a file called AndroidManifest.xml. It is the app's identity card, listing screens and permissions.

xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
 <application
 android:label="Hello Ibadan"
 android:icon="@mipmap/ic_launcher">
 <activity
 android:name=".MainActivity"
 android:exported="true">
 <intent-filter>
 <action android:name="android.intent.action.MAIN" />
 <category android:name="android.intent.category.LAUNCHER" />
 </intent-filter>
 </activity>
 </application>
</manifest>

Reading it aloud: "This app is labelled Hello Ibadan. It has one screen, MainActivity. That screen is the one to open when the user taps the launcher icon." The intent-filter with MAIN and LAUNCHER is what marks the starting screen. Lesson 03 explains every attribute.

Piece 2: an Activity

An Activity is one entry point into your app's UI, roughly "a window of the app".

kotlin
package com.example.helloibadan
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.material3.Text
class MainActivity : ComponentActivity() {
 override fun onCreate(savedInstanceState: Bundle?) {
 super.onCreate(savedInstanceState)
 setContent {
 Text("Hello, Ibadan!")
 }
 }
}

When Android starts the screen it calls onCreate. Inside, setContent { ... } says "this is what the screen should show". Here it shows one line of text. You will study this in lesson 15 and the activity lifecycle in lesson 23.

Piece 3: a composable function

In Jetpack Compose the UI is built from small functions marked @Composable.

kotlin
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
@Composable
fun Greeting(name: String) {
 Text(text = "Hello, $name!")
}

Call Greeting("Tunde") and the screen shows Hello, Tunde!. Compare that with the older way of writing a layout in XML, an Activity and a lot of glue code. Compose is far shorter.

Piece 4: the build file

Gradle build files tell the tools how to assemble the app. This tiny extract names the app and the Android versions it supports:

kotlin
android {
 namespace = "com.example.helloibadan"
 defaultConfig {
 applicationId = "com.example.helloibadan"
 minSdk = 24
 }
}

applicationId is the app's unique name on a device and on Google Play. minSdk is the oldest Android version the app supports. Exact numbers change between Android Studio releases, and you will choose them in lesson 03.

Piece 5: what the toolchain does with those files

bash
# A typical command-line build, run in the project folder
# (macOS and Linux)
./gradlew assembleDebug

# (Windows)
gradlew.bat assembleDebug

This asks Gradle to compile everything and produce a debug APK. You will almost never type it, because Android Studio's Run button does it for you, but it is useful to know the button is not magic.

✏️ Your Task
Practise what you just learned about A First Look at Real Android Code. Open Android Studio, type the examples by hand, change a value, and observe what happens.
Phase 5 of 11
Android Versions, API Levels and Compatibility

Android has marketing names and numbers (Android 14, Android 15 and so on), but developers care about API levels: a whole number that identifies a version of the Android framework. Each new Android release adds an API level with new features. Three numbers appear in every project:

Setting Meaning Why you care
minSdk The oldest API level your app supports. A lower value reaches more old phones but limits the features you can use directly.
targetSdk The API level your app is tested against. Google Play requires recent targets for new apps and updates, and the required number moves over time.
compileSdk The API level of the framework you compile against. It gives you access to the newest APIs while writing code.

Jetpack: libraries that smooth out the differences

Phones in the real world run many Android versions. Jetpack is a family of libraries (called androidx) that gives you the same modern tools on old and new phones: Compose, ViewModel, Navigation, Room, WorkManager and many more. You will meet them one by one. When you see an import that starts with androidx., you are using Jetpack.

✏️ Your Task
Practise what you just learned about Android Versions, API Levels and Compatibility. Open Android Studio, type the examples by hand, change a value, and observe what happens.
Phase 6 of 11
How This Course Works

The three levels

Level Lessons What you do
Beginner 1 to 22 Set up Android Studio, learn Kotlin, build first Compose apps: birthday card, business card, dice roller, tip calculator, affirmations, 30 Days.
Intermediate 23 to 53 Lifecycle, ViewModel, navigation, coroutines, networking, Room, DataStore, WorkManager, Compose in depth, testing, accessibility, and publishing on Google Play.
Advanced 54 to 72 Advanced Compose, performance, adaptive and Wear OS apps, modern app architecture, Hilt, Kotlin Multiplatform, a capstone project and a final reference.

The six programmes this course follows

The official site developer.android.com/courses hosts several programmes. Together they are the official route to becoming an Android developer, and this course walks through all of them in depth.

Code Official programme Where it appears in this course
ABC Android Basics with Compose (8 units) Lessons 1 to 36, 42 and 43, with extras
JC Jetpack Compose for Android developers (5 pathways) Lessons 37 to 41, 43 to 45, 54 to 59
ARCH Modern Android App Architecture pathway Lessons 60 to 65
ACC Make your Android app accessible pathway Lessons 46 to 48
KMP Basics of Kotlin Multiplatform pathway Lessons 66 to 70
PLAY Google Play Store Listing Certificate (4 modules) Lessons 49 to 53

A map of the course

text
BEGINNER
  01-05  Android Studio: install, first project, emulator, real phone, Logcat
  06-14  Kotlin: variables, functions, conditions, null safety, classes,
         lambdas, generics, collections
  15-22  First Compose apps: text, images, buttons, debugging, state,
         tests, lists, theming and animation
INTERMEDIATE
  23-27  Lifecycle, ViewModel, UI state, navigation, adaptive layouts
  28-36  Coroutines, HTTP and Retrofit, repositories, Coil, SQL, Flow,
         Room, DataStore, WorkManager
  37-44  Compose in depth, Views, interoperability, Studio power tools
  45-48  Compose testing and accessibility
  49-53  Release and Google Play
ADVANCED
  54-59  Advanced Compose: state, navigation, custom layouts,
         performance, adaptive apps, Wear OS and widgets
  60-65  Architecture: layers, UI, data, domain, offline-first, Hilt
  66-70  Kotlin Multiplatform
  71-72  Capstone project and quick reference

How every lesson is built

Each lesson follows the same rhythm, so you always know what comes next:

  1. Lesson Introduction: what you will achieve.
  2. Prerequisite Concepts: a refresher so you are never lost.
  3. Conceptual Understanding: the ideas, with analogies and diagrams.
  4. Worked examples or a step-by-step build: real code and click paths.
  5. Guided Practice Exercises: challenges you try before revealing the answer.
  6. Common Beginner Mistakes: the errors everyone makes, and the fixes.
  7. Knowledge Check: five questions that mirror the official quizzes.
  8. Mini project: a small build you can finish in one sitting and add to your GitHub portfolio.

The golden rule: type the code yourself. Copy and paste teaches your fingers nothing. When you hit an error, read it slowly; the first error is usually the real one. Look for the first red message, not the last.

✏️ Your Task
Practise what you just learned about How This Course Works. Open Android Studio, type the examples by hand, change a value, and observe what happens.
Phase 7 of 11
Before You Begin: Prepare Your Setup

This section matches the official Before you begin item. It is about being ready, not about downloading anything yet.

Your computer

Android Studio is a large program. Google publishes official system requirements, and they change between releases, so always read the current version on the Android Studio install page. As a rough guide, which lesson 02 explains in detail:

Resource Minimum you should expect Comfortable
RAM 8 GB 16 GB or more
Free disk space Tens of GB (Studio, SDK, emulator images, Gradle cache) An SSD with 50 GB free or more
Screen A laptop screen is enough A second monitor helps
Operating system A current 64-bit Windows, macOS or Linux Same

If your laptop is modest, do not give up. Lesson 04 covers low-RAM alternatives and lesson 05 shows how to run apps on a real phone, which uses far less of your computer than an emulator.

Your internet connection

The first installation downloads several gigabytes (Android Studio itself is over a gigabyte, plus the SDK and Gradle libraries). Plan to do the first setup on a good connection, perhaps at a hub or a friend's Wi-Fi, and keep the downloaded installer. After that, daily work uses much less data, although every new library you add is downloaded once.

Accounts and habits

  • A Google account helps for Android Studio sign-in, Gemini features, and later the Play Console.
  • A GitHub account (free) lets you publish each mini project as a portfolio piece.
  • Keep one folder for the course, for example techbase-android, and one sub-folder per lesson.
  • Study in short regular blocks. Thirty focused minutes a day beats one exhausting Saturday.

A tiny self-check you can do on any computer

Open a terminal (Command Prompt, PowerShell, Terminal or a Linux shell) and run:

bash
# Shows how many CPU cores and what OS you have (Linux)
nproc
uname -a

# Shows free disk space in a readable form (macOS and Linux)
df -h

# Windows (PowerShell): free space on drive C
Get-PSDrive C

You are not looking for a pass mark. You are just learning how much room you have. Write down your RAM and free disk space; you will compare them with the official requirements in the next lesson.

✏️ Your Task
Practise what you just learned about Before You Begin: Prepare Your Setup. Open Android Studio, type the examples by hand, change a value, and observe what happens.
Phase 8 of 11
What Is Introduction to Android Studio?

The official course includes an Introduction to Android Studio video. Here is what that video's idea boils down to, in words, so you have it even if you are offline.

Android Studio is Google's official IDE for Android. It combines a code editor, a visual Layout Preview for Compose, a build system, an emulator launcher, a debugger and a Logcat viewer. Everything you need to write, run and fix an app lives in one window.

text
+---------------------------------------------------------------+
| Menu bar   |  Toolbar: [Run] [Debug] [device list]            |
+------------+--------------------------------------------------+
| Project    |  Code editor                                     |
| tool       |  (your .kt files)                                |
| window     |                                                  |
| (files)    |                                                  |
+------------+--------------------------------------------------+
| Bottom tool windows: Logcat | Build | Run | Terminal          |
+---------------------------------------------------------------+

You will take a full guided tour in lesson 02, and use these windows in every lesson after it. For now, keep this picture in mind: files on the left, code in the middle, messages at the bottom.

✏️ Your Task
Practise what you just learned about What Is Introduction to Android Studio?. Open Android Studio, type the examples by hand, change a value, and observe what happens.
Phase 9 of 11
Guided Practice Exercises
🎯 Your Challenge

Exercise 1: Match the layer

Match each statement to the right layer of Android (Linux kernel, Hardware Abstraction Layer, ART, Framework, App).

  1. "I draw the birthday card the user sees."
  2. "I give every camera, from every manufacturer, one standard interface."
  3. "I provide Activity and notification APIs to developers."
  4. "I control memory and process isolation, so apps cannot read each other's files."
  5. "I run the compiled DEX code on the device."
  1. App. Your own code builds the UI.
  2. Hardware Abstraction Layer. It hides hardware differences.
  3. Framework. It is the set of APIs you call from Kotlin.
  4. Linux kernel. It enforces process and memory separation and security.
  5. ART. It is the Android Runtime.

Self-check: If you matched at least four correctly, you understand the shape of the stack well enough for the rest of the course.

🎯 Your Challenge

Exercise 2: Read the manifest

Look at this manifest fragment and answer the three questions below it.

xml
<application android:label="Market Prices">
 <activity android:name=".PricesActivity" android:exported="true">
 <intent-filter>
 <action android:name="android.intent.action.MAIN" />
 <category android:name="android.intent.category.LAUNCHER" />
 </intent-filter>
 </activity>
 <activity android:name=".SettingsActivity" android:exported="false" />
</application>
  1. What name will users see under the icon?
  2. Which screen opens when the user taps the icon?
  3. Can another app open SettingsActivity directly? (Hint: look at exported.)
  1. Market Prices. The android:label on application.
  2. PricesActivity. It is the only activity with the MAIN action and LAUNCHER category.
  3. No. android:exported="false" means it is private to this app. It is for internal use only, such as a settings screen reached from PricesActivity.
🎯 Your Challenge

Exercise 3: APK or AAB?

Decide for each situation whether you need an APK or an AAB.

  1. You want to email a test build to a friend with an Android phone so they can install it.
  2. You are uploading your finished app to the Google Play Console.
  3. You are running the app from Android Studio onto your own phone through a USB cable.
  1. APK. It is the directly installable file (your friend may need to allow installs from that source).
  2. AAB. Google Play requires bundles for new apps, and uses them to create optimised APKs for each device.
  3. APK. Android Studio builds and installs a debug APK for you behind the scenes.
✏️ Your Task

Write down, on paper or in a text file: (1) your computer's RAM and free disk space, (2) the model and Android version of the phone you own (find it under Settings > About phone), and (3) two apps you would love to build one day. You will refer to this list in later lessons.

Phase 10 of 11
Common Beginner Mistakes (and How to Fix Them)

These are not code errors yet, but they are the mistakes that stop beginners in their first week.

Mistake #1: Trying to learn everything before starting. The problem: reading about Android for weeks and never installing anything. The fix: follow the lessons in order and type each example. Understanding grows from doing.

Mistake #2: Confusing Android with Android Studio. The problem: Android is the operating system on the phone; Android Studio is the program you use on your computer to build apps. The fix: remember "Studio is the workshop, Android is the road the finished vehicle drives on."

Mistake #3: Confusing Kotlin with Java and thinking you must learn Java first. The problem: old tutorials insist on Java. The fix: you do not need Java first. Kotlin is Google's preferred language and this course teaches it from zero. Kotlin can use Java libraries, so nothing is wasted if you read Java later.

Mistake #4: Copying code you do not understand. The problem: it works until the day it breaks, and then you cannot fix it. The fix: after each snippet, say in your own words what each line does. If you cannot, re-read the explanation before moving on.

Mistake #5: Using a very old tutorial. The problem: Android changes quickly. Screens built with XML layouts, findViewById and the old kapt tool still exist in many blog posts, but modern projects use Compose, version catalogs and KSP. The fix: check the date. If it is more than a couple of years old, prefer the official documentation or this course.

Mistake #6: Downloading Android Studio from a random website. The problem: unofficial copies can contain malware or be badly out of date. The fix: download only from developer.android.com/studio, and compare the checksum if you want to be extra careful (lesson 02 shows how).

Mistake #7: Expecting the emulator to be fast on any machine. The problem: with low RAM or no virtualisation support, the emulator can crawl. The fix: use a real phone (lesson 05) or lighter emulator settings (lesson 04).

✏️ Your Task
Practise what you just learned about Common Beginner Mistakes (and How to Fix Them). Open Android Studio, type the examples by hand, change a value, and observe what happens.
Phase 11 of 11
Knowledge Check

Answer each question in your head or on paper, then reveal the answer.

Question 1. Who leads the development of Android, and what is AOSP?

Google leads Android. AOSP, the Android Open Source Project, is the open-source core of the operating system that manufacturers build on to create their own versions.

Question 2. What is the difference between an APK and an AAB?

An APK is an installable package. An AAB (Android App Bundle) is the publishing format you upload to Google Play, which uses it to generate optimised APKs for each device configuration, giving smaller downloads.

Question 3. What does ART do?

ART, the Android Runtime, runs your app's compiled (DEX) code on the device. Your Kotlin source is compiled on your computer, packaged into the app, and ART executes it on the phone.

Question 4. Which two things in AndroidManifest.xml make an activity the one that opens when the user taps the app icon?

An intent-filter containing the action android.intent.action.MAIN and the category android.intent.category.LAUNCHER.

Question 5. Name the six official programmes this course follows.

Android Basics with Compose (ABC), Jetpack Compose for Android developers (JC), the Modern Android App Architecture pathway (ARCH), the Make your Android app accessible pathway (ACC), the Basics of Kotlin Multiplatform pathway (KMP), and the Google Play Store Listing Certificate (PLAY).

Go deeper: official resources

✏️ Your Task
Practise what you just learned about Knowledge Check. Open Android Studio, type the examples by hand, change a value, and observe what happens.
🏗️ Build It — Mini Project
My Android Learning Plan

Project goal: Create a personal, written learning plan and a tiny "app idea" file in a folder you will keep for the whole course. It is your first portfolio piece and the foundation of your GitHub account.

Requirements:

  1. Create a folder named techbase-android with a text or Markdown file called plan.md.
  2. In plan.md, record your computer specifications (RAM, free disk space, operating system) and your phone model with its Android version.
  3. Write a weekly timetable showing which days and times you will study, with a target lesson number for each week.
  4. List the three levels and, in one sentence each, what you hope to be able to do at the end of each.
  5. Write down three app ideas, each with a one-line description and the name of the person it would help.
  6. Add a short manifest sketch for your favourite idea: the label, and the names of two screens it would need.
  7. Create a free GitHub account if you do not have one, and note your username in the file.

Stretch goal: Create a GitHub repository called android-learning-plan, and upload plan.md to it using the GitHub website's Add file option. You will learn proper Git workflow from Android Studio later, but this is a start.

plan.md
# My Android Learning Plan

## My setup
- Computer: Windows 11 laptop, 8 GB RAM, 120 GB free on SSD
- Phone: Tecno Spark, Android 13 (Settings > About phone)
- GitHub: github.com/my-username

## Weekly timetable (30 to 45 minutes per session)
| Day       | Time          | Target                    |
|-----------|---------------|---------------------------|
| Monday    | 6:00 to 6:45pm | Read the lesson           |
| Wednesday | 6:00 to 6:45pm | Type the examples         |
| Saturday  | 9:00 to 10:30am| Practice and mini project |

Week 1: lessons 01 to 03
Week 2: lessons 04 and 05, then Kotlin starts at lesson 06
Week 3 and 4: lessons 07 to 09

## What I want to achieve at each level
- Beginner: install Android Studio and build a few simple apps by myself.
- Intermediate: build an app that saves data and talks to the internet.
- Advanced: publish one app on Google Play and understand clean architecture.

## App ideas
1. School Notes - a notebook app for secondary school students.
   Helps: my younger sister and her classmates.
2. Market Prices - a list of today's food prices in Bodija market.
   Helps: my mother and her customers.
3. Fee Reminder - a reminder for school fee due dates.
   Helps: parents in my street.

## Manifest sketch for Market Prices
- Label: Market Prices
- Screens (activities): PricesActivity (opens first), SettingsActivity (private)

What to check: the file exists in techbase-android/plan.md, includes your real hardware numbers, and names three ideas. If you completed the stretch goal, opening your repository on github.com shows plan.md rendered as formatted text.

1

Open your finished project in Android Studio. Check that the .gitignore file the wizard created is in the project root. It keeps local.properties, build folders and keystores out of Git. Never commit passwords or signing keys.

2

Choose Git > Create Git Repository… (or VCS > Enable Version Control Integration in older versions), select the project folder, then open Git > Commit, tick every file, and write the message “Add Android lesson 01 project”.

3

On github.com click New repository, name it android-lesson-01-welcome-to-android-development-what-androi, set it to Public, leave Add a README unticked, and click Create repository.

4

Back in Android Studio choose Git > Manage Remotes…, add the repository URL as origin, then choose Git > Push… and push your main branch. Prefer the terminal? Run git remote add origin <your-url> then git push -u origin main.

5

Add a README.md with a screenshot of your app running and a short description. Employers and clients read READMEs first. Your project is now part of your public portfolio. 🎉

Lesson 01 complete! 🎉

You covered:

  • Lesson Introduction
  • Prerequisite Concepts
  • Conceptual Understanding: What Android Is
  • A First Look at Real Android Code
  • Android Versions, API Levels and Compatibility
  • How This Course Works
  • Before You Begin: Prepare Your Setup
  • What Is Introduction to Android Studio?
  • Guided Practice Exercises
  • Common Beginner Mistakes (and How to Fix Them)
  • Knowledge Check
All 72 lessons in Google Android Studio ·Techbase Academy ·© 2025–2026 Techbase Consultant Services, Ibadan
Esc
↑ ↓ to moveEnter to openEsc to close