SlideShare a Scribd company logo
Unit – 1
Introduction to Android
Prepared by :- Prof. Japan M. Mavani
Overview of Android
• What is Android ?
• Android operating system is the largest installed base among various mobile
platforms across the globe. Hundreds of millions of mobile devices are powered
by Android in more than 190 countries of the world. It conquered around 71% of the
global market share by the end of 2021.
• The company named Open Handset Alliance developed Android for the first time
that is based on the modified version of the Linux kernel and other open-source
software.
• Google sponsored the project at initial stages and in the year 2005, it acquired the
whole company
• At first, the purpose of Android was thought of as a mobile operating system.
However, with the advancement of code libraries and its popularity among
developers of the divergent domain, Android becomes an absolute set of software
for all devices like tablets, wearables, set-top boxes, smart TVs, notebooks, etc.
Overview of Android
Overview of Android
• History and Evolution of Android
• Google first publicly announced Android in November 2007 but was released
on 23 SEPTEMBER 2008 to be exact. The first device to bring Android into the
market was the HTC Dream with the version Android 1.0.
• Since then, Google released a lot of android versions such as Apple Pie,
Banana Bread, Cupcake, Donut, Éclair, Froyo, Gingerbread, Jellybeans,
Kitkat, Lollipop, marshmallow, Nougat, Oreo, etc. with extra functionalities
and new features.
MAD Unit - 1 Introduction of Android IT Department
MAD Unit - 1 Introduction of Android IT Department
Overview of Android
• Programming Languages used in Developing Android Applications
• 1. Java
• 2. Kotlin
• Developing the Android Application using Kotlin is preferred by Google, as
Kotlin is made an official language for Android Development, which is
developed and maintained by JetBrains.
• Previously before Java is considered the official language for Android
Development. Kotlin is made official for Android Development in Google I/O
2017.
Overview of Android
• Advantages of Android Development
• The Android is an open-source Operating system and hence possesses a vast
community for support.
• The design of the Android Application has guidelines from Google, which
becomes easier for developers to produce more intuitive user applications.
• Fragmentation gives more power to Android Applications. This means the
application can run two activities on a single screen.
• Releasing the Android application in the Google play store is easier when it is
compared to other platforms.
Overview of Android
• Disadvantages of Android Development
• Fragmentation provides a very intuitive approach to user experience but it
has some drawbacks, where the development team needs time to adjust to
the various screen sizes of mobile smartphones that are now available in the
market and invoke the particular features in the application.
• The Android devices might vary broadly. So the testing of the application
becomes more difficult.
• As the development and testing consume more time, the cost of the
application may increase, depending on the application’s complexity and
features.
Features of Android
Features of Android
• User-Friendly Interface
• Android is known for its smooth, responsive, and visually appealing interface. The design
is tailored for ease of use with clear icons, gesture-based navigation, and accessibility
features. It supports multiple languages, high-contrast modes, and voice navigation,
making it inclusive for users with various needs. Regular updates also bring UI
improvements for better user interaction.
• Multitasking Capabilities
• Android enables users to perform multiple tasks simultaneously, enhancing productivity
and user experience. Features like Split-Screen View allow two apps to run side by side,
while Picture-in-Picture (PiP) lets users continue watching videos or navigating while
using other apps. Quick app switching, background app management, and notification
replies further improve multitasking.
Features of Android
• Extensive App Ecosystem
• With access to the Google Play Store, Android users can download over 3 million apps, covering
everything from productivity and education to gaming and social media. Apart from Play Store,
users can also install apps from third-party sources (sideloading), giving greater freedom
compared to other mobile operating systems.
• Customisability
• Android is unmatched in terms of customisation. Users can:
• Change launchers for a different home screen experience
• Install widgets for real-time updates on the screen
• Use icon packs and themes to personalize visuals
• Modify notification settings per app
• Advanced users can root their devices or install custom ROMs for total control This flexibility
allows Android to adapt to individual preferences like no other platform.
Features of Android
• Google Integration
• Since Android is developed by Google, it offers seamless integration with
Google services. Users can:
• Sync emails, calendars, and contacts with Gmail and Google Calendar.
• Use Google Maps for accurate navigation.
• Access files on Google Drive.
• Use Google Photos for unlimited cloud storage (with compression).
• Control their environment using Google Assistant and smart devices This
deep integration enhances productivity and daily usability.
Features of Android
• Security Features
• Android prioritizes user security through features like:
• Google Play Protect: Scans apps for harmful behaviour.
• App Permissions: Gives users control over what data apps can access.
• Regular Security Updates: Protect against vulnerabilities.
• Biometric Authentication: Includes fingerprint, face recognition, or iris scanning.
• Secure Folder / App Lock: For extra privacy Despite being open-source, Android
is constantly improving its security model to protect user data.
Features of Android
• Voice Commands and AI
• Powered by Google Assistant, Android supports voice commands to perform tasks
like:
• Sending texts or making calls
• Setting reminders or alarms
• Searching the web or playing music
• Controlling smart home devices The AI-driven suggestions based on user habits
(e.g., smart replies, app suggestions) make Android smarter and more
personalized over time.
Features of Android
• Device Diversity
• One of Android's standout strengths is its availability on a wide range of devices:
• Entry-level phones to premium flagships
• Foldable phones, tablets, smartwatches, TVs, and even cars
Setting up the Development Environment
• Installing Android Studio
• Download link: - https://developer.android.com/studio
MAD Unit - 1 Introduction of Android IT Department
MAD Unit - 1 Introduction of Android IT Department
MAD Unit - 1 Introduction of Android IT Department
Setting up the Development Environment
• What is an Android SDK ?
• Android SDK stands for Android Software Development Kit which is
developed by Google for Android Platform. With the help of Android SDK, we
can create android Apps easily.
• Android SDK is a collection of libraries and Software Development tools that
are essential for Developing Android Applications.
• Whenever Google releases a new version or update of Android Software, a
corresponding SDK also releases with it. In the updated or new version of
SDK, some more features are included which are not present in the previous
version.
Setting up the Development Environment
• Components of Android SDK?
• Android SDK Components play a major role in the Development of Android
applications. Below are the important components:
• Android SDK stands for Android Software Development Kit which is developed by
Google for Android Platform. With the help of Android SDK, we can create android
Apps easily.
• Android SDK is a collection of libraries and Software Development tools that are
essential for Developing Android Applications.
• Whenever Google releases a new version or update of Android Software, a
corresponding SDK also releases with it. In the updated or new version of SDK,
some more features are included which are not present in the previous version.
Setting up the Development Environment
• Components of Android SDK?
1. Android SDK Tools
2. Android SDK Build-Tools
3. Android Emulator
Setting up the Development Environment
• Android SDK Tools
• Android SDK tool is an important component of Android SDK. It consists of a
complete set of development and debugging tools. Below are the SDK
developer tools:
• Android SDK Build tool.
• Android Emulator.
• Android SDK Platform-tools.
• Android SDK Tools.
Setting up the Development Environment
• Android SDK Build-Tools
• Android SDK build tools are used for building actual binaries of Android App. The
main functions of Android SDK Build tools are built, debug, run and test Android
applications.
• The latest version of the Android SDK Build tool is 36.0.3. While downloading or
updating Android in our System, one must ensure that its latest version is download
in SDK Components.
Setting up the Development Environment
• Android Emulator
• An Android Emulator is a device that simulates an Android device on your system.
Suppose we want to run our android application that we code. One option is that we
will run this on our Android Mobile by Enabling USB Debugging on our mobile.
Another option is using Android Emulator.
• In Android Emulator the virtual android device is shown on our system on which we
run the Android application that we code.
MAD Unit - 1 Introduction of Android IT Department
MAD Unit - 1 Introduction of Android IT Department
MAD Unit - 1 Introduction of Android IT Department
Setting up the Development Environment
• Configuration Virtual Device (Emulators)
• From the Android Studio Welcome screen, select More Actions > Virtual
Device Manager.
MAD Unit - 1 Introduction of Android IT Department
MAD Unit - 1 Introduction of Android IT Department
MAD Unit - 1 Introduction of Android IT Department
Setting up the Development Environment
• About AVDs
• An AVD contains a hardware profile, system image, storage area, skin, and
other properties.
• We recommend that you create an AVD for each system image that your app
could potentially support based on the<uses-sdk> setting in your manifest.
• Hardware profile
• The hardware profile defines the characteristics of a device as shipped from
the factory. The Device Manager comes pre-loaded with certain hardware
profiles, such as Pixel devices, and you can define or customize the hardware
profiles as needed.
MAD Unit - 1 Introduction of Android IT Department
Setting up the Development Environment
• A device definition labeled with the Google Play logo in the Play Store column
includes both the Google Play Store app and access to Google Play services,
including a Google Play tab in the Extended controls dialog that provides a
convenient button for updating Google Play services on the device.
MAD Unit - 1 Introduction of Android IT Department
Setting up the Development Environment
• System images
• In Android Studio, a system image is the base operating system that runs within an Android
Virtual Device (AVD) emulator. It contains the core Android components, including the
kernel, Dalvik VM, and native libraries, required for running apps. Essentially, it's the
simulated Android OS inside the emulator.
• The Recommended tab lists recommended system images. The other tabs include a
more complete list. The right pane describes the selected system image.
• The API level of the target device is important, because your app doesn't run on a
system image with an API level that's lower than the one required by your app, as
specified in the minSdk attribute in the app manifest file.
Setting up the Development Environment
• What is an API Level in Android?
• API Level is basically a number that represents a specific version of the Android operating
system’s Application Programming Interface (API).
• Each new version of Android (like Android 9, 10, 11, etc.) comes with its own set of
features and changes.
• Google assigns a unique API Level number to each version, e.g.,
• Android 11 → API Level 30
• Android 12 → API Level 31, and so on.
Setting up the Development Environment
• Why API Level matters:
• When you write an app, you tell Android which API levels your app supports
(in minSdkVersion, targetSdkVersion, and compileSdkVersion in build.gradle).
• This ensures your app runs only on Android versions that have the features it needs,
and prevents crashes on older devices.
Setting up the Development Environment
• What is a System Image in Android?
• A System Image is basically an Android OS packaged to run on an emulator or device.
• It’s like a snapshot of Android at a certain version (and API Level), including its apps
and system files.
• You use system images to test your apps on different Android versions (and sometimes with
different configurations like Google APIs, Play Store, or for different processor types).
• In Android Studio:
• When you create an emulator (AVD), you pick a system image.
Example: You might choose “Android 12.0 (Google APIs)” which is API Level 31.
Setting up the Development Environment
• How are API Level and System Image Linked?
• System images are built for a specific API Level.
• If you select a system image for “API Level 33”, you are choosing to run an emulator that
behaves exactly like a device running Android 13.
• So, when you test your app on that emulator, you’re testing how it works on devices running
API Level 33.
• In summary:
• API Level = Android version’s feature set (what your app can do)
• System Image = The actual OS version running on a virtual device, mapped to an API Level
• They’re linked because every system image corresponds to an API Level, and the emulator
uses the system image to simulate that Android version.
Setting up the Development Environment
• To create a new AVD:
• Open the Device Manager.
• Click Create Device.
• The Select Hardware window appears.
• Select the system image for a particular API level.
MAD Unit - 1 Introduction of Android IT Department
MAD Unit - 1 Introduction of Android IT Department
MAD Unit - 1 Introduction of Android IT Department
Android Architecture
• Android architecture contains a different number of components to support any Android
device’s needs. Android software contains an open-source Linux Kernel having a collection
of a number of C/C++ libraries which are exposed through application framework services.
• Among all the components Linux Kernel provides the main functionality of operating
system functions to smartphones and Dalvik Virtual Machine (DVM) provide a
platform for running an Android application.
Android Architecture
• Components of Android Architecture
• The main components of Android architecture are the following:-
• Applications.
• Application Framework.
• Android Runtime.
• Platform Libraries.
• Linux Kernel.
Android
Architecture
Android
Architecture
• Applications
• Applications is the top layer of android
architecture. The pre-installed
applications like home, contacts,
camera, gallery etc and third party
applications downloaded from the play
store like chat applications, games etc.
will be installed on this layer only. It runs
within the Android run time with the help
of the classes and services provided by
the application framework.
Android
Architecture
• Application framework
• Application Framework provides several
important classes which are used to create an
Android application. It provides a generic
abstraction for hardware access and also helps
in managing the user interface with application
resources. Generally, it provides the services
with the help of which we can create a particular
class and make that class helpful for the
Applications creation. It includes different types
of services activity manager, notification
manager, view system, package manager etc.
which are helpful for the development of our
application according to the prerequisite.
Android
Architecture
• Application runtime
• Android Runtime environment is one of the
most important part of Android. It contains
components like core libraries and the Dalvik
virtual machine(DVM). Mainly, it provides the
base for the application framework and powers
our application with the help of the core
libraries. Like Java Virtual Machine (JVM), Dalvik
Virtual Machine (DVM) is a register-based virtual
machine and specially designed and optimized
for android to ensure that a device can run
multiple instances efficiently. It depends on the
layer Linux kernel for threading and low-level
memory management. The core libraries enable
us to implement android applications using the
standard JAVA or Kotlin programming languages.
Android
Architecture
• Platform libraries
• The Platform Libraries includes various C/C++
core libraries and Java based libraries such as
Media, Graphics, Surface Manager, OpenGL etc.
to provide a support for android development.
• Media library provides support to play and
record an audio and video formats.
• Surface manager responsible for managing
access to the display subsystem.
• SGL and OpenGL both cross-language, cross-
platform application program interface (API) are
used for 2D and 3D computer graphics.
• SQLite provides database support
and FreeType provides font support.
Android
Architecture
• Platform libraries
• Web-Kit This open source web browser engine
provides all the functionality to display web
content and to simplify page loading.
• SSL (Secure Sockets Layer) is security
technology to establish an encrypted link
between a web server and a web browser.
Android
Architecture
• Linux Kernel
• Linux Kernel is heart of the android
architecture. It manages all the
available drivers such as display drivers,
camera drivers, Bluetooth drivers, audio
drivers, memory drivers, etc. which are
required during the runtime. The Linux
Kernel will provide an abstraction layer
between the device hardware and the
other components of android
architecture. It is responsible for
management of memory, power, devices
etc. The features of Linux kernel are:
Android
Architecture
• Linux Kernel
• Security: The Linux kernel handles the security
between the application and the system.
• Memory Management: It efficiently handles the
memory management thereby providing the freedom
to develop our apps.
• Process Management: It manages the process well,
allocates resources to processes whenever they need
them.
• Network Stack: It effectively handles the network
communication.
• Driver Model: It ensures that the application works
properly on the device and hardware manufacturers
responsible for building their drivers into the Linux
build.
Android
Application
Components
Android
Application
Components
Android Application Components
• There are some necessary building blocks that an Android application consists of. These
loosely coupled components are bound by the application manifest file which contains the
description of each component and how they interact.
• The manifest file also contains the app’s metadata, its hardware configuration, and platform
requirements, external libraries, and required permissions. There are the following main
components of an android app:
1. Activities.
2. Services.
3. Content Providers.
4. Broadcast Receivers.
5. Intents.
6. Widgets.
7. Notifications.
Android Application Components
• Activities
• Activities are said to be the presentation layer of our applications. The UI of our application is
built around one or more extensions of the Activity class. By using Fragments and Views,
activities set the layout and display the output and also respond to the user’s actions. An
activity is implemented as a subclass of class Activity.
• Services
• Services are like invisible workers of our app. These components run at the backend,
updating your data sources and Activities, triggering Notification, and also broadcast Intents.
They also perform some tasks when applications are not active.
Android Application Components
• Content Providers
• It is used to manage and persist the application data also typically interacts with the SQL
database. They are also responsible for sharing the data beyond the application boundaries.
The Content Providers of a particular application can be configured to allow access from
other applications, and the Content Providers exposed by other applications can also be
configured. A content provider should be a sub-class of the class ContentProvider.
• Broadcast Receivers
• They are known to be intent listeners as they enable your application to listen to the Intents
that satisfy the matching criteria specified by us. Broadcast Receivers make our application
react to any received Intent thereby making them perfect for creating event-driven
applications.
Android Application Components
• Intents
• It is a powerful inter-application message-passing framework. They are extensively
used throughout Android. Intents can be used to start and stop Activities and
Services, to broadcast messages system-wide or to an explicit Activity, Service or
Broadcast Receiver or to request action be performed on a particular piece of data.
• Widgets
• These are the small visual application components that you can find on the home
screen of the devices. They are a special variation of Broadcast Receivers that allow
us to create dynamic, interactive application components for users to embed on
their Home Screen.
Android Application Components
• Notifications
• Notifications are the application alerts that are used to draw the user’s attention to
some particular app event without stealing focus or interrupting the current activity
of the user. They are generally used to grab user’s attention when the application is
not visible or active, particularly from within a Service or Broadcast Receiver.
Examples: E-mail popups, Messenger popups, etc.
MAD Unit - 1 Introduction of Android IT Department
Thank you

More Related Content

PPTX
Subtracting 3 Digit Numbers
 
PPT
Learning multiplication
PPTX
Android Seminar || history || versions||application developement
PPTX
Outstanding Improvement Award Outstanding Improvement Award
PPT
Android studio history, emulator, Building blocks
DOCX
Unit 1-android-and-its-tools-ass
PPT
Android presentation slide
DOC
Android
Subtracting 3 Digit Numbers
 
Learning multiplication
Android Seminar || history || versions||application developement
Outstanding Improvement Award Outstanding Improvement Award
Android studio history, emulator, Building blocks
Unit 1-android-and-its-tools-ass
Android presentation slide
Android

Similar to MAD Unit - 1 Introduction of Android IT Department (20)

PDF
Software training report
PPTX
ch1introduction about android development.pptx
PPTX
Introduction to android mobile app development.pptx
PDF
Android
PDF
Android Training Course In Chandigarh
PDF
Android Training in Chandigarh.pdf
PDF
Android Training in Chandigarh.pdf
PDF
20IT601PE - Mobile Application Development PPT.pdf
PDF
android-developer-fundamentals-course-concepts-en.pdf
PDF
Android and its feature
PPTX
Getting started with android
PPTX
Android presantation
PDF
Android : Deep dive into developing MobileApp using Android
PPTX
18th android intro
PPTX
18th android intro
PPTX
Android technology
PPTX
Unit-1.1 Getting Started with Android.pptx
PDF
Mobile Application Development-Lecture 03 & 04.pdf
PPT
Android overview
PPTX
2.Android Platform_Theory.pptx
Software training report
ch1introduction about android development.pptx
Introduction to android mobile app development.pptx
Android
Android Training Course In Chandigarh
Android Training in Chandigarh.pdf
Android Training in Chandigarh.pdf
20IT601PE - Mobile Application Development PPT.pdf
android-developer-fundamentals-course-concepts-en.pdf
Android and its feature
Getting started with android
Android presantation
Android : Deep dive into developing MobileApp using Android
18th android intro
18th android intro
Android technology
Unit-1.1 Getting Started with Android.pptx
Mobile Application Development-Lecture 03 & 04.pdf
Android overview
2.Android Platform_Theory.pptx
Ad

Recently uploaded (20)

PPTX
bas. eng. economics group 4 presentation 1.pptx
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PPTX
UNIT 4 Total Quality Management .pptx
PPTX
OOP with Java - Java Introduction (Basics)
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PPTX
Geodesy 1.pptx...............................................
PPTX
CH1 Production IntroductoryConcepts.pptx
PPT
Mechanical Engineering MATERIALS Selection
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PPTX
Construction Project Organization Group 2.pptx
PDF
Well-logging-methods_new................
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PPT
Project quality management in manufacturing
PDF
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
PPTX
additive manufacturing of ss316l using mig welding
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
bas. eng. economics group 4 presentation 1.pptx
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
UNIT 4 Total Quality Management .pptx
OOP with Java - Java Introduction (Basics)
Automation-in-Manufacturing-Chapter-Introduction.pdf
Geodesy 1.pptx...............................................
CH1 Production IntroductoryConcepts.pptx
Mechanical Engineering MATERIALS Selection
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
Construction Project Organization Group 2.pptx
Well-logging-methods_new................
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
Foundation to blockchain - A guide to Blockchain Tech
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
Project quality management in manufacturing
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
additive manufacturing of ss316l using mig welding
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
Ad

MAD Unit - 1 Introduction of Android IT Department

  • 1. Unit – 1 Introduction to Android Prepared by :- Prof. Japan M. Mavani
  • 2. Overview of Android • What is Android ? • Android operating system is the largest installed base among various mobile platforms across the globe. Hundreds of millions of mobile devices are powered by Android in more than 190 countries of the world. It conquered around 71% of the global market share by the end of 2021. • The company named Open Handset Alliance developed Android for the first time that is based on the modified version of the Linux kernel and other open-source software. • Google sponsored the project at initial stages and in the year 2005, it acquired the whole company • At first, the purpose of Android was thought of as a mobile operating system. However, with the advancement of code libraries and its popularity among developers of the divergent domain, Android becomes an absolute set of software for all devices like tablets, wearables, set-top boxes, smart TVs, notebooks, etc.
  • 4. Overview of Android • History and Evolution of Android • Google first publicly announced Android in November 2007 but was released on 23 SEPTEMBER 2008 to be exact. The first device to bring Android into the market was the HTC Dream with the version Android 1.0. • Since then, Google released a lot of android versions such as Apple Pie, Banana Bread, Cupcake, Donut, Éclair, Froyo, Gingerbread, Jellybeans, Kitkat, Lollipop, marshmallow, Nougat, Oreo, etc. with extra functionalities and new features.
  • 7. Overview of Android • Programming Languages used in Developing Android Applications • 1. Java • 2. Kotlin • Developing the Android Application using Kotlin is preferred by Google, as Kotlin is made an official language for Android Development, which is developed and maintained by JetBrains. • Previously before Java is considered the official language for Android Development. Kotlin is made official for Android Development in Google I/O 2017.
  • 8. Overview of Android • Advantages of Android Development • The Android is an open-source Operating system and hence possesses a vast community for support. • The design of the Android Application has guidelines from Google, which becomes easier for developers to produce more intuitive user applications. • Fragmentation gives more power to Android Applications. This means the application can run two activities on a single screen. • Releasing the Android application in the Google play store is easier when it is compared to other platforms.
  • 9. Overview of Android • Disadvantages of Android Development • Fragmentation provides a very intuitive approach to user experience but it has some drawbacks, where the development team needs time to adjust to the various screen sizes of mobile smartphones that are now available in the market and invoke the particular features in the application. • The Android devices might vary broadly. So the testing of the application becomes more difficult. • As the development and testing consume more time, the cost of the application may increase, depending on the application’s complexity and features.
  • 11. Features of Android • User-Friendly Interface • Android is known for its smooth, responsive, and visually appealing interface. The design is tailored for ease of use with clear icons, gesture-based navigation, and accessibility features. It supports multiple languages, high-contrast modes, and voice navigation, making it inclusive for users with various needs. Regular updates also bring UI improvements for better user interaction. • Multitasking Capabilities • Android enables users to perform multiple tasks simultaneously, enhancing productivity and user experience. Features like Split-Screen View allow two apps to run side by side, while Picture-in-Picture (PiP) lets users continue watching videos or navigating while using other apps. Quick app switching, background app management, and notification replies further improve multitasking.
  • 12. Features of Android • Extensive App Ecosystem • With access to the Google Play Store, Android users can download over 3 million apps, covering everything from productivity and education to gaming and social media. Apart from Play Store, users can also install apps from third-party sources (sideloading), giving greater freedom compared to other mobile operating systems. • Customisability • Android is unmatched in terms of customisation. Users can: • Change launchers for a different home screen experience • Install widgets for real-time updates on the screen • Use icon packs and themes to personalize visuals • Modify notification settings per app • Advanced users can root their devices or install custom ROMs for total control This flexibility allows Android to adapt to individual preferences like no other platform.
  • 13. Features of Android • Google Integration • Since Android is developed by Google, it offers seamless integration with Google services. Users can: • Sync emails, calendars, and contacts with Gmail and Google Calendar. • Use Google Maps for accurate navigation. • Access files on Google Drive. • Use Google Photos for unlimited cloud storage (with compression). • Control their environment using Google Assistant and smart devices This deep integration enhances productivity and daily usability.
  • 14. Features of Android • Security Features • Android prioritizes user security through features like: • Google Play Protect: Scans apps for harmful behaviour. • App Permissions: Gives users control over what data apps can access. • Regular Security Updates: Protect against vulnerabilities. • Biometric Authentication: Includes fingerprint, face recognition, or iris scanning. • Secure Folder / App Lock: For extra privacy Despite being open-source, Android is constantly improving its security model to protect user data.
  • 15. Features of Android • Voice Commands and AI • Powered by Google Assistant, Android supports voice commands to perform tasks like: • Sending texts or making calls • Setting reminders or alarms • Searching the web or playing music • Controlling smart home devices The AI-driven suggestions based on user habits (e.g., smart replies, app suggestions) make Android smarter and more personalized over time.
  • 16. Features of Android • Device Diversity • One of Android's standout strengths is its availability on a wide range of devices: • Entry-level phones to premium flagships • Foldable phones, tablets, smartwatches, TVs, and even cars
  • 17. Setting up the Development Environment • Installing Android Studio • Download link: - https://developer.android.com/studio
  • 21. Setting up the Development Environment • What is an Android SDK ? • Android SDK stands for Android Software Development Kit which is developed by Google for Android Platform. With the help of Android SDK, we can create android Apps easily. • Android SDK is a collection of libraries and Software Development tools that are essential for Developing Android Applications. • Whenever Google releases a new version or update of Android Software, a corresponding SDK also releases with it. In the updated or new version of SDK, some more features are included which are not present in the previous version.
  • 22. Setting up the Development Environment • Components of Android SDK? • Android SDK Components play a major role in the Development of Android applications. Below are the important components: • Android SDK stands for Android Software Development Kit which is developed by Google for Android Platform. With the help of Android SDK, we can create android Apps easily. • Android SDK is a collection of libraries and Software Development tools that are essential for Developing Android Applications. • Whenever Google releases a new version or update of Android Software, a corresponding SDK also releases with it. In the updated or new version of SDK, some more features are included which are not present in the previous version.
  • 23. Setting up the Development Environment • Components of Android SDK? 1. Android SDK Tools 2. Android SDK Build-Tools 3. Android Emulator
  • 24. Setting up the Development Environment • Android SDK Tools • Android SDK tool is an important component of Android SDK. It consists of a complete set of development and debugging tools. Below are the SDK developer tools: • Android SDK Build tool. • Android Emulator. • Android SDK Platform-tools. • Android SDK Tools.
  • 25. Setting up the Development Environment • Android SDK Build-Tools • Android SDK build tools are used for building actual binaries of Android App. The main functions of Android SDK Build tools are built, debug, run and test Android applications. • The latest version of the Android SDK Build tool is 36.0.3. While downloading or updating Android in our System, one must ensure that its latest version is download in SDK Components.
  • 26. Setting up the Development Environment • Android Emulator • An Android Emulator is a device that simulates an Android device on your system. Suppose we want to run our android application that we code. One option is that we will run this on our Android Mobile by Enabling USB Debugging on our mobile. Another option is using Android Emulator. • In Android Emulator the virtual android device is shown on our system on which we run the Android application that we code.
  • 30. Setting up the Development Environment • Configuration Virtual Device (Emulators) • From the Android Studio Welcome screen, select More Actions > Virtual Device Manager.
  • 34. Setting up the Development Environment • About AVDs • An AVD contains a hardware profile, system image, storage area, skin, and other properties. • We recommend that you create an AVD for each system image that your app could potentially support based on the<uses-sdk> setting in your manifest. • Hardware profile • The hardware profile defines the characteristics of a device as shipped from the factory. The Device Manager comes pre-loaded with certain hardware profiles, such as Pixel devices, and you can define or customize the hardware profiles as needed.
  • 36. Setting up the Development Environment • A device definition labeled with the Google Play logo in the Play Store column includes both the Google Play Store app and access to Google Play services, including a Google Play tab in the Extended controls dialog that provides a convenient button for updating Google Play services on the device.
  • 38. Setting up the Development Environment • System images • In Android Studio, a system image is the base operating system that runs within an Android Virtual Device (AVD) emulator. It contains the core Android components, including the kernel, Dalvik VM, and native libraries, required for running apps. Essentially, it's the simulated Android OS inside the emulator. • The Recommended tab lists recommended system images. The other tabs include a more complete list. The right pane describes the selected system image. • The API level of the target device is important, because your app doesn't run on a system image with an API level that's lower than the one required by your app, as specified in the minSdk attribute in the app manifest file.
  • 39. Setting up the Development Environment • What is an API Level in Android? • API Level is basically a number that represents a specific version of the Android operating system’s Application Programming Interface (API). • Each new version of Android (like Android 9, 10, 11, etc.) comes with its own set of features and changes. • Google assigns a unique API Level number to each version, e.g., • Android 11 → API Level 30 • Android 12 → API Level 31, and so on.
  • 40. Setting up the Development Environment • Why API Level matters: • When you write an app, you tell Android which API levels your app supports (in minSdkVersion, targetSdkVersion, and compileSdkVersion in build.gradle). • This ensures your app runs only on Android versions that have the features it needs, and prevents crashes on older devices.
  • 41. Setting up the Development Environment • What is a System Image in Android? • A System Image is basically an Android OS packaged to run on an emulator or device. • It’s like a snapshot of Android at a certain version (and API Level), including its apps and system files. • You use system images to test your apps on different Android versions (and sometimes with different configurations like Google APIs, Play Store, or for different processor types). • In Android Studio: • When you create an emulator (AVD), you pick a system image. Example: You might choose “Android 12.0 (Google APIs)” which is API Level 31.
  • 42. Setting up the Development Environment • How are API Level and System Image Linked? • System images are built for a specific API Level. • If you select a system image for “API Level 33”, you are choosing to run an emulator that behaves exactly like a device running Android 13. • So, when you test your app on that emulator, you’re testing how it works on devices running API Level 33. • In summary: • API Level = Android version’s feature set (what your app can do) • System Image = The actual OS version running on a virtual device, mapped to an API Level • They’re linked because every system image corresponds to an API Level, and the emulator uses the system image to simulate that Android version.
  • 43. Setting up the Development Environment • To create a new AVD: • Open the Device Manager. • Click Create Device. • The Select Hardware window appears. • Select the system image for a particular API level.
  • 47. Android Architecture • Android architecture contains a different number of components to support any Android device’s needs. Android software contains an open-source Linux Kernel having a collection of a number of C/C++ libraries which are exposed through application framework services. • Among all the components Linux Kernel provides the main functionality of operating system functions to smartphones and Dalvik Virtual Machine (DVM) provide a platform for running an Android application.
  • 48. Android Architecture • Components of Android Architecture • The main components of Android architecture are the following:- • Applications. • Application Framework. • Android Runtime. • Platform Libraries. • Linux Kernel.
  • 50. Android Architecture • Applications • Applications is the top layer of android architecture. The pre-installed applications like home, contacts, camera, gallery etc and third party applications downloaded from the play store like chat applications, games etc. will be installed on this layer only. It runs within the Android run time with the help of the classes and services provided by the application framework.
  • 51. Android Architecture • Application framework • Application Framework provides several important classes which are used to create an Android application. It provides a generic abstraction for hardware access and also helps in managing the user interface with application resources. Generally, it provides the services with the help of which we can create a particular class and make that class helpful for the Applications creation. It includes different types of services activity manager, notification manager, view system, package manager etc. which are helpful for the development of our application according to the prerequisite.
  • 52. Android Architecture • Application runtime • Android Runtime environment is one of the most important part of Android. It contains components like core libraries and the Dalvik virtual machine(DVM). Mainly, it provides the base for the application framework and powers our application with the help of the core libraries. Like Java Virtual Machine (JVM), Dalvik Virtual Machine (DVM) is a register-based virtual machine and specially designed and optimized for android to ensure that a device can run multiple instances efficiently. It depends on the layer Linux kernel for threading and low-level memory management. The core libraries enable us to implement android applications using the standard JAVA or Kotlin programming languages.
  • 53. Android Architecture • Platform libraries • The Platform Libraries includes various C/C++ core libraries and Java based libraries such as Media, Graphics, Surface Manager, OpenGL etc. to provide a support for android development. • Media library provides support to play and record an audio and video formats. • Surface manager responsible for managing access to the display subsystem. • SGL and OpenGL both cross-language, cross- platform application program interface (API) are used for 2D and 3D computer graphics. • SQLite provides database support and FreeType provides font support.
  • 54. Android Architecture • Platform libraries • Web-Kit This open source web browser engine provides all the functionality to display web content and to simplify page loading. • SSL (Secure Sockets Layer) is security technology to establish an encrypted link between a web server and a web browser.
  • 55. Android Architecture • Linux Kernel • Linux Kernel is heart of the android architecture. It manages all the available drivers such as display drivers, camera drivers, Bluetooth drivers, audio drivers, memory drivers, etc. which are required during the runtime. The Linux Kernel will provide an abstraction layer between the device hardware and the other components of android architecture. It is responsible for management of memory, power, devices etc. The features of Linux kernel are:
  • 56. Android Architecture • Linux Kernel • Security: The Linux kernel handles the security between the application and the system. • Memory Management: It efficiently handles the memory management thereby providing the freedom to develop our apps. • Process Management: It manages the process well, allocates resources to processes whenever they need them. • Network Stack: It effectively handles the network communication. • Driver Model: It ensures that the application works properly on the device and hardware manufacturers responsible for building their drivers into the Linux build.
  • 59. Android Application Components • There are some necessary building blocks that an Android application consists of. These loosely coupled components are bound by the application manifest file which contains the description of each component and how they interact. • The manifest file also contains the app’s metadata, its hardware configuration, and platform requirements, external libraries, and required permissions. There are the following main components of an android app: 1. Activities. 2. Services. 3. Content Providers. 4. Broadcast Receivers. 5. Intents. 6. Widgets. 7. Notifications.
  • 60. Android Application Components • Activities • Activities are said to be the presentation layer of our applications. The UI of our application is built around one or more extensions of the Activity class. By using Fragments and Views, activities set the layout and display the output and also respond to the user’s actions. An activity is implemented as a subclass of class Activity. • Services • Services are like invisible workers of our app. These components run at the backend, updating your data sources and Activities, triggering Notification, and also broadcast Intents. They also perform some tasks when applications are not active.
  • 61. Android Application Components • Content Providers • It is used to manage and persist the application data also typically interacts with the SQL database. They are also responsible for sharing the data beyond the application boundaries. The Content Providers of a particular application can be configured to allow access from other applications, and the Content Providers exposed by other applications can also be configured. A content provider should be a sub-class of the class ContentProvider. • Broadcast Receivers • They are known to be intent listeners as they enable your application to listen to the Intents that satisfy the matching criteria specified by us. Broadcast Receivers make our application react to any received Intent thereby making them perfect for creating event-driven applications.
  • 62. Android Application Components • Intents • It is a powerful inter-application message-passing framework. They are extensively used throughout Android. Intents can be used to start and stop Activities and Services, to broadcast messages system-wide or to an explicit Activity, Service or Broadcast Receiver or to request action be performed on a particular piece of data. • Widgets • These are the small visual application components that you can find on the home screen of the devices. They are a special variation of Broadcast Receivers that allow us to create dynamic, interactive application components for users to embed on their Home Screen.
  • 63. Android Application Components • Notifications • Notifications are the application alerts that are used to draw the user’s attention to some particular app event without stealing focus or interrupting the current activity of the user. They are generally used to grab user’s attention when the application is not visible or active, particularly from within a Service or Broadcast Receiver. Examples: E-mail popups, Messenger popups, etc.