Android Studio
Android Studio is the official Integrated Development Environment (IDE)
used for Android application development.
It provides tools for:
Writing Java/Kotlin code
Designing application interfaces
Managing Android projects
Building applications
Debugging applications
Testing applications
Connecting physical devices/emulators
Generating APKs
Android SDK
SDK = Software Development Kit
The Android SDK provides the tools, libraries, and platform components
required to develop Android applications.
Android Studio is the development environment.
Android SDK provides the Android development tools/platform
resources.
Android Studio ≠ Android SDK
We'll expand this properly during today's lesson.
Android Development Environment
Component Purpose
Android
IDE used to develop Android applications
Studio
Android
Provides Android APIs and development tools
SDK
Provides Java development/build tools required for Java-
JDK
based Android development
Gradle Build system that manages building the Android application
Component Purpose
and its dependencies
Android
Physical device used to run/test the application
Device
Emulator Virtual Android device used for testing
Basic Development Flow
Java Code + Resources
Android Studio
Gradle
Build Process
APK
Android Device / Emulator
Important: Don't worry if some of these terms still feel vague.
Understanding them will happen progressively through actual
use.
📝 NOTES — Day 1
Android Project
An Android application is organized into multiple files and directories, each
serving a specific purpose.
Important areas include:
manifests/
Contains the Android application manifest.
java/
Contains Java source code such as Activities and other classes.
res/
Contains application resources such as layouts, strings, images, colors and
drawables.
Gradle Scripts/
Contains configuration used by the Gradle build system.
Important idea
An Android application is not just a Java file.
It consists of:
Code + Resources + Manifest + Build Configuration
Basic Android Project Structure
app/
Contains the main application module.
manifests/
Contains the application manifest.
java/
Contains Java source code.
res/
Contains application resources.
Common resource directories:
layout/ → XML UI layouts
drawable/ → drawable resources/images
mipmap/ → application launcher icons
values/ → strings, colors, dimensions and other values
Gradle Scripts
Contains build configuration used by Gradle.
Four Important Files
File Purpose
[Link] Java code for the Activity
activity_main.xml UI layout for the Activity
File Purpose
AndroidManifest.x Declares important
ml application/components/configuration information
[Link] Stores reusable string resources
Core Concept
An Android screen commonly involves two sides:
Java → behavior / logic
XML → user interface
They work together to create the application screen
MainActivity
An Activity represents a screen/component of an Android application.
A typical Activity contains Java code that controls the behavior of that
screen.
public class MainActivity extends AppCompatActivity
This means MainActivity is an Activity based on AppCompatActivity.
onCreate()
onCreate() is called when the Activity is being created.
It is commonly used for initial setup.
setContentView()
setContentView([Link].activity_main);
This connects the Activity's Java code with its XML layout.
[Link]
setContentView()
activity_main.xml
Screen displayed to user
This Java ↔ XML relationship is fundamental to traditional Android
Views development.
Something as simple as:
[Link] → controls the Activity's logic
activity_main.xml → defines the screen
Manifest → tells Android about the app
[Link] → stores text resources
Physical Device Testing
Android applications can be tested using:
1. Physical Android Device
A real Android phone connected through USB debugging.
2. Android Emulator
A virtual Android device running on the computer.
USB Debugging
USB debugging allows Android Studio/ADB to communicate with an
Android device for development and testing.
ADB
ADB = Android Debug Bridge
It allows the development computer to communicate with an Android
device.
We'll understand ADB properly later; for now, remember:
ADB is the communication bridge between the computer and
Android device.
System Image
A system image contains the Android operating system/environment that
an Android Emulator uses to simulate an Android device.
System Image
Android Emulator
Virtual Android Phone
↓
Run & Test App
And remember:
The 2 GB download is not your app. It's the Android environment used
by the virtual device.