SKILL DEVELOPMENT (ANDROID)
What is Android?
Android is an open-source, Linux kernel operating system that runs on a wide range of
devices, including smartphones, tablets, smartwatches, smart TVs, and automotive systems.
It was developed by the Open Handset Alliance, led by Google and other companies.
The first beta version of the Android SDK (Software Development Kit) was released in
2007, and the first commercial version, Android 1.0, was launched in September 2008.
Android supports millions of applications through the Google Play Store, making it the most
widely used operating system for smart devices worldwide.
The latest version of Android is Android 16 (released June 2025).
Operating System (OS)
An operating system is software that manages a device’s hardware and software resources, and
provides a platform for applications to run.
Examples: Windows, macOS, Linux, Android, iOS.
Why Android ?
⦁ Most Popular – Powers over 70% of smartphones worldwide.
• Open Source – Free to use, modify, and customize.
• Huge App Ecosystem – Millions of apps available on Google Play Store.
• Device Variety – Runs on phones, tablets, TVs, watches, and cars.
• Customizable UI – Manufacturers and users can change the look and features.
• Affordable & Accessible – Available on devices at many price points.
• Strong Community Support – Large developer and user community.
Android Applications
Android applications are developed using Java or Kotlin with the Android Software
Development Kit (SDK). Once developed, they can be packaged and distributed through
platforms such as Google Play or the Amazon Appstore. Android is the most popular mobile
operating system, running on hundreds of millions of devices in over 190 countries, with more
than 1 million new devices activated every day. This wide reach gives developers a huge
audience for their apps.
Android Environment Setup:
System Requirements for Android Studio
Operating System: Microsoft Windows 7 / 8 / 10 (32-bit or 64-bit)
Memory: 4 GB RAM minimum, 8 GB RAM recommended (plus 1 GB for the Android
Emulator)
Disk Space: 2 GB minimum, 4 GB recommended (500 MB for IDE + 1.5 GB for Android
SDK and emulator image)
Screen Resolution: Minimum 1280 × 800
Download Android Studio:
[Link]
Create Your First Project
In Android Studio: File → New → New Project.
Select “Empty Views Activity,” give your app a name, choose a package name, and click
Finish.
[Link] is the controller of your screen.
It tells Android: “Which XML file should be shown when this activity starts?”
setContentView([Link].activity_main);
Without this line, Android doesn’t know which XML to display.
Use HTTPS instead of HTTP in SDK Manager
Android Studio sometimes defaults to [Link] which can fail.
Go to File → Settings → Appearance & Behavior → System Settings → Android SDK.
Click SDK Update Sites tab.
Edit Google’s repository URL to:
[Link]
SDK – Software Development Kit
A collection of tools, libraries, APIs, and documentation used to develop software for a specific
platform.
In Android Development, the SDK includes:
APIs – Access to Android features (camera, GPS, storage, etc.)
Emulator (AVD) – Simulate Android devices for testing
Build Tools – Compile and package apps
Debugging Tools – Test and fix errors in apps
Purpose:
Provides everything needed to develop, test, and debug Android apps.
AVD – Android Virtual Device
It is an emulator configuration in Android Studio that lets you simulate a real Android device
(phone, tablet, TV, etc.) on your computer.
LinearLayout
Arranges views in a single row or column.
Uses android:orientation="vertical" or horizontal"
ConstraintLayout
A powerful, flexible layout introduced later.
You position each view using constraints (like “align left of…”, “center to parent”).
LinearLayout → Best for simple UI (list of items, forms, etc.).
ConstraintLayout → Best for modern, complex UI (dashboards, responsive designs).
Android Studio Main Window
• Android Studio is the official IDE (Integrated Development
Environment) for Android app development and it is based on JetBrains’
IntelliJ IDEA software. Android Studio provides many excellent features
that enhance productivity when building Android [Link] as:
• A blended environment where one can develop for all Android devices
• Apply Changes to push code and resource changes to the running app
without restarting the app
• A flexible Gradle-based build system
• A fast and feature-rich emulator
1. Toolbar
• One can find the Toolbar section at the top of the android
studio. It contains a wide range of functions including
creating a new project which is inside the File Section,
Reformat your code which is inside the Code Section,
Rebuild your project which is inside the Build section,
running your android app which is inside the Run section,
and many more. In fact, the Toolbar is the most important
part of the android studio.
2. Editor Window
• In this window, the users can create, write, and modify
their code. This editor window changes depending on the
current file type. For example, if you are viewing a layout
file(Here activity_main.xml file) then the editor displays
the layout editor. Similarly, if you are writing the backend
code then the editor displays the Java/Kotlin file (Here
[Link] file) depending upon the language you
have chosen during the creation of the project.
3. Tool Window Bar
• The tool window bar operates around the outside of the
IDE window and includes the buttons that allow users to
expand or collapse individual tool windows. For example,
in the above diagram, we have expanded the Project and
the Build button.
4. Navigation Bar
• The navigation bar helps the users to navigate throughout
the project and open files for editing. It gives a more
compressed view of the structure visible in the Project
window. For example in the above diagram when we click
on the [Link] file in the editor window section
then the navigation bar shows us where this file present
inside the android studio. (Here app > src > main > java >
com > example > meetandroidstudio > MainActivity).
Thus it helps us to navigate and modify the required file
easily.
5. Status Bar
• The status bar displays the current status of the project
and the IDE itself, as well as any warnings or messages
during the execution of the project.
6. Tool Windows
• The tool windows give access to specific tasks like project
management, search, version control, and more. It is
strongly related to the Tool Window Bar section. When
you expand the Tool Window Bar then they are visible
inside the Tool Windows section. So the user can also
expand and collapse them
Different Types of Activities in Android Studio
• Generally, when a developer wants to create a new
project in the android studio he/she needs to select a
project template which is consisting of many activities as
shown in the below image. (Considering that the
developer developing the android app for phone and
tablet). So in this article, we are going to discuss what do
these activities mean in brief. Here is the list of activities:
Android Studio project templates:
[Link] Activity, 2. Basic Activity, 3. Bottom Navigation Activity, 4.
Empty Activity, 5. Fullscreen Activity, 6. Google Admob Ads
Activity, 7. Google Maps Activity, 8. Login Activity, 9.
Master/Detail Flow, 10. Navigation Drawer Activity, 11. Settings
Activity, 12. Scrolling Activity, 13. Tabbed Activity, 14. Fragment
+ ViewModel, 15. Native C++.
(1) No Activity:
As the name suggests No Activity means
creating a new empty project. When the
developer selects this activity there will be
neither an XML file nor a Java/Kotlin file.
No files are automatically generated when
you select No Activity. The project structure
will look like the following:
(2) Basic Activity:
Basic Activity creates a new basic
activity with the navigation component.
When the developer selects the basic
activity, then you will be getting a menu
button, and you will also get a floating
action button. These files are
automatically created when you select
Basic Activity:
WEEK-I
1. Create an android application to demonstrate any five types of text boxes.
<!-- Email -->
activity_main.xml <EditText
android:id="@+id/email_text"
<?xml version="1.0" encoding="utf-8"?> android:layout_width="match_parent"
<LinearLayout android:layout_height="wrap_content"
xmlns:android="[Link] android:hint="Email"
android:layout_width="match_parent" android:inputType="textEmailAddress" />
android:layout_height="match_parent" <!-- Phone -->
android:orientation="vertical" <EditText
android:padding="16dp"> android:id="@+id/phone_text"
<!-- Plain Text --> android:layout_width="match_parent"
<EditText android:layout_height="wrap_content"
android:id="@+id/plain_text" android:hint="Phone"
android:layout_width="match_parent" android:inputType="phone" />
android:layout_height="wrap_content" <!-- Multiline Text -->
android:hint="Plain Text" /> <EditText
<!-- Password --> android:id="@+id/multiline_text"
<EditText android:layout_width="match_parent"
android:id="@+id/password_text" android:layout_height="wrap_content"
android:layout_width="match_parent" android:hint="Multiline Text"
android:layout_height="wrap_content" android:inputType="textMultiLine"
android:hint="Password" android:minLines="3"
android:inputType="textPassword" /> android:gravity="top"/>
</LinearLayout>
[Link]: [Link]: ([Link] (Project: week-1))
// Top-level build file where you can add configuration options
package [Link].week1;
common to all sub-projects/modules.
buildscript {
import [Link];
ext.kotlin_version = '1.8.0'
import
repositories {
[Link];
google()
mavenCentral()
public class MainActivity extends
}
AppCompatActivity {
dependencies {
classpath "[Link]:gradle:8.0.2"
@Override
classpath "[Link]:kotlin-gradle-plugin:
protected void onCreate(Bundle
$kotlin_version"
savedInstanceState) {
}
[Link](savedInstanceState);
}
setContentView([Link].activity_main);
allprojects {
}
repositories {
}
google()
mavenCentral()
}}
task clean(type: Delete) {
delete [Link]
}
App-level [Link] ([Link] (Module: app)):
dependencies {
plugins { implementation '[Link]:core-ktx:1.12.0'
id '[Link]' implementation '[Link]:appcompat:1.7.0'
id 'kotlin-android' implementation
}
'[Link]:material:1.10.0'
android {
namespace '[Link].week1' implementation
compileSdk 34 '[Link]:constraintlayout:2.1.4'
defaultConfig { testImplementation 'junit:junit:4.13.2'
applicationId "[Link].week1" androidTestImplementation '[Link]:junit:1.1.5'
minSdk 21 androidTestImplementation
targetSdk 34 '[Link]:espresso-core:3.5.1'
versionCode 1 }
versionName "1.0"
testInstrumentationRunner "[Link]"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('[Link]'), '[Link]'
}
}
}