1οΈβ£ π New Project Button
Function: Opens the project creation wizard.
Where: Home screen of Android Studio.
Icon: π§± β or β Project
Use: Starts a new app development flow.
2οΈβ£ π± Select Project Template
Common buttons here:
Empty Activity π: Basic starting point.
Basic Activity π§: Includes a floating action button.
Bottom Navigation Activity π±β¬οΈ: Adds tabs at the bottom.
Next π: Proceeds to configuration.
Back π: Return to the previous screen.
Cancel β: Exit project creation.
3οΈβ£ π οΈ Configure Your Project
Here, youβll see:
Name π·οΈ: Your app name.
Package Name π¦: Unique ID (e.g., com.example.myapp)
Save Location π: Directory path on your computer.
Language π§βπ»: Choose Java or Kotlin.
Minimum SDK π²: Minimum Android version supported.
β¬οΈ Buttons:
Back π
Finish β : Creates the project with selected settings.
π§° Once Project is Created: Key Buttons on Main Screen
Now you're inside the project editor. Letβs look at broad buttons and their functions:
π 1. Run Button βΆοΈ
Function: Builds and runs the app on emulator or device.
Tooltip: βRun βappββ
Shortcut: Shift + F10
π 2. Stop Button βΉοΈ
Function: Stops the currently running app.
π 3. Sync Project with Gradle π
Icon: βοΈπ‘
Function: Reloads build configuration.
Use When: You change build.gradle or dependencies.
π¦ 4. Build Project Button π§±π§
Function: Compiles the whole project.
Shortcut: Ctrl + F9
π 5. Preview Design Button ποΈ
Function: Shows visual layout preview.
Used In: activity_main.xml
Tabs: Design πΌοΈ | Code π» | Split π
π§ 6. Project Explorer Sidebar π
Function: Navigate folders, Java/Kotlin files, layouts, Gradle scripts.
Button: π icon on left.
π 7. Search Everything Button π
Shortcut: Double Shift
Function: Search files, classes, symbols, etc.
π 8. Debug Button π
Function: Launches app in debug mode.
Used For: Breakpoints, step-by-step inspection.
π§ 9. AVD Manager π±βοΈ
Function: Manage and create Android Virtual Devices (Emulators).
Icon: Little phone and cogwheel.
π 10. Logcat Button π
Function: Shows logs from your emulator/device.
Helpful For: Debugging and crash analysis.
Gradle is a build automation tool used in Android Studio (and many other platforms) to build, compile, and manage dependencies of your app. Think of it as your appβs construction manager π·ββοΈ who makes sure everything is assembled correctly when you press Run βΆοΈ.
Hereβs what Gradle handles for you:
Compiles all your .java or .kt files into bytecode.
Packages everything (code, images, libraries) into an APK π¦ (Android Package).
Example: You want to use Google's Material Design library.
Instead of downloading it manually, just write:
gradle
CopyEdit
implementation 'com.google.android.material:material:1.11.0'
Β And Gradle will fetch it for you from the internet π.
Want to make both free and paid versions of your app?
Gradle helps manage these as product flavors β like two different recipes from one kitchen π¨βπ³.
Tasks like:
Clean previous builds π§Ή
Run tests β
Generate signed APKs π
When you create an app, youβll see:
Configures Gradle settings for the whole project.
Contains repository info like:
gradle
repositories {
Β Β Β Β google()
Β Β Β Β mavenCentral()
}
Settings for your specific app module.
Includes:
App version
Minimum SDK
Dependencies
When you click this button: π
π Android Studio reads all your Gradle files, downloads required libraries π₯, and updates your project structure. This is needed whenever you add a new library or change settings.
Imagine youβre baking a cake π:
π§ Your ingredients = Java/Kotlin files, layouts, images, libraries
π¨βπ³ Gradle = The chef who knows the recipe, mixes everything properly, and bakes it into a cake (APK)
ποΈ Dependencies = Special ingredients you order from Amazon π«π
π Sync = Making sure the chef has all the ingredients before starting
π§© Feature
π― Purpose
π¦ Build APK
Compile + package app files
π Dependency Mgt.
Automatically download needed libraries
π οΈ Custom Tasks
Automate repetitive development tasks
π Gradle Scripts
Where you define all of the above
This is your actual Android app code and resources. Everything inside here is what gets built into the APK.
These are the brains and settings behind the build process π§ βοΈ β handled by Gradle.
π AndroidManifest.xml: The heart of your app π« β defines the appβs name, icon, activities, permissions, launcher screen, etc.
This folder contains all your source code.
π com.arcomedeng.myapp π¨βπ»: This is your main code folder β where your MainActivity.kt or MainActivity.java lives.
π (androidTest) π±β
: For instrumented UI tests β these run on a real or virtual Android device.
π (test) π§ͺ: For unit tests β logic checks that run on your computer without needing a device.
This holds all the visual and textual resources used in your app (images, layouts, colors, etc.)
πΌοΈ drawable/
Stores image files and graphic assets.
E.g.:
ic_launcher_background.xml π¨
ic_launcher_foreground.xml β¨
π§© layout/
XML files that define your appβs UI structure.
Examples:
activity_main.xml β usually your home screen.
activity_leaves_rules.xml, activity_leaves_rules_quiz2.xml β other UI screens.
ποΈ mipmap/
Stores your app icons in different resolutions:
hdpi, mdpi, xhdpi, xxhdpi, xxxhdpi π±πΌοΈ
anydpi-v26 is used for adaptive icons in newer Android versions.
β
Why so many versions?
Different Android devices have different screen densities β so Android picks the best version automatically.
π¨ values/
Stores app-wide constants and resources.
colors.xml π β defines app color themes.
strings.xml π¬ β all your text (so you can easily translate).
themes/
themes.xml, themes.xml (right) β define app-wide appearance like dark/light theme.
βοΈ xml/
Holds config files like:
backup_rules.xml π (for backup/restore behavior)
data_extraction_rules.xml π¦ (for auto backup rules)
This is where Gradle automates the process of building your app, downloading libraries, setting SDK versions, etc.
Kotlin version of Gradle file for project-level settings
Manages plugins and global repositories.
Specific to the app module.
Defines:
SDK version
Dependencies (implementation '...')
Compile options
Used for code shrinking and obfuscation to make your APK smaller and secure.
Contains global properties like:
JVM options
Experimental features flags
Defines the version of Gradle your project uses (important for compatibility).
Declares centralized library versions (called "Version Catalog").
Defines local machine settings, like where the Android SDK is installed (this file is not shared).
Tells Gradle which modules are part of the project.
π Folder/File
π Purpose
manifests/
App identity, permissions, launcher activity
java/
Your app code and tests
res/
UI layouts, images, values
mipmap/
App launcher icons for various densities
values/
Colors, strings, themes
xml/
Special config rules
build.gradle.kts (Project)
Global build setup
build.gradle.kts (Module)
App-level build rules
proguard-rules.pro
App shrinking & obfuscation
gradle.properties
Global settings
libs.versions.toml
Dependency version catalog
settings.gradle.kts
Lists modules in the project
local.properties
SDK path (not shared)