0% found this document useful (0 votes)
10 views

Android Lecture 1

The document provides an introduction to mobile computing and Android development, outlining key components, advantages, challenges, and applications of mobile computing. It details the Android operating system, its architecture, development environment setup, and core components for building Android applications. Additionally, it covers programming languages, tools like IDEs and SDKs, and the evolution of Android versions.

Uploaded by

Kedir Tahir
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views

Android Lecture 1

The document provides an introduction to mobile computing and Android development, outlining key components, advantages, challenges, and applications of mobile computing. It details the Android operating system, its architecture, development environment setup, and core components for building Android applications. Additionally, it covers programming languages, tools like IDEs and SDKs, and the evolution of Android versions.

Uploaded by

Kedir Tahir
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 35

LECTURE - 01

MOBILE APPLICATION
DEVELOPMENT
Chapter 1: Introduction

1.1 Introduction to Mobile Computing


Definition
❑ Mobile computing refers to the ability to use computing
capabilities without being confined to a single physical
location.
❑ It allows users to access data, applications, and services via
portable devices like smartphones, tablets, and laptops.
Components of Mobile Computing
❑ Mobile Hardware: Includes smartphones, tablets, laptops,
wearables (smartwatches, fitness trackers), and IoT devices.
❑ Mobile Software: Operating systems (Android, iOS, Windows
Mobile), apps, middleware, and firmware that run on mobile
devices.
❑ Mobile Communication: Involves wireless protocols and
technologies like Wi-Fi, 4G/5G, Bluetooth, and NFC, which enable
mobile devices to connect and exchange data over networks.
History and
Evolution
❑ Early Mobile Devices: Began with personal digital assistants
(PDAs) and evolved into today’s smartphones and tablets.
❑ Smartphones and Tablets: Revolutionized mobile computing
with devices like the iPhone in 2007.
❑ Wearables and IoT: Wearables like smartwatches and IoT
devices expand mobile computing.
Advantages of Mobile Computing

❑ Mobility: Users can perform tasks anytime and anywhere.


❑ Connectivity: Constant access to data and information
through wireless networks.
❑ Flexibility: Various mobile applications for communication,
work, learning, and entertainment.
Challenges of Mobile Computing

❑ Security Risks: Susceptibility to threats like data breaches,


malware, and theft.
❑ Battery Life: Limited power supplies for mobile devices.
❑ Performance: Lower computational power compared to
desktops.
Applications of
Mobile Computing
❑ Personal Use: Messaging, social media, navigation, mobile
banking, fitness tracking.
❑ Business Use: Mobile workforces, cloud services, inventory
management, and marketing.
❑ Healthcare: Remote monitoring, telemedicine, and mobile
health apps.
❑ Education: Mobile learning platforms, educational apps, and
distance learning.
1.2 Introduction to Android Development
Environment
What is Android?

❑ Android OS: An open-source operating system developed by


Google for mobile devices.
❑ Android Features: Multitasking, customizable UI,
notifications, connectivity, multi-language support.
Android Architecture
❑ Linux Kernel: Core services such as memory management,
process management, and hardware abstraction.
❑ Libraries: Includes core libraries for graphics (OpenGL),
databases (SQLite), and web (WebKit).
❑ Android Runtime (ART): Environment for apps, including the
Dalvik Virtual Machine and core Java libraries.
❑ Application Framework: Key services for apps, such as
Activity Manager and Notification Manager.
❑ Applications: The top layer, where Android apps run.
Setting Up Android Development Environment

❑Android Studio: The official IDE for Android, based on IntelliJ


IDEA.
❑SDK Manager: Used to download and manage SDK packages
for Android versions.
❑Gradle Build System: Manages dependencies, compiles code,
and builds APKs.
❑Android Emulator: Allows testing on virtual devices with
different configurations.
Core Android Components
❑Activities: Represents a single screen in the app.
❑Services: Background tasks running without a user interface.
❑Broadcast Receivers: Responds to system-wide events like
battery low.
❑Content Providers: Manages shared data between apps.
Programming
Languages for Android

❑ Java: The original language for Android, still widely used.


❑ Kotlin: Officially preferred language since 2017,
interoperable with Java.
Building and Running Android Apps

❑Compiling Apps: Uses Gradle to compile code into APKs.


❑Testing: Apps can be tested using Android Emulator or
physical devices.
WHAT IS ANDROID?
▪ Mobile operating system based on Linux Kernel
▪ User Interface for touch screens
▪ Used on over 80% of all smartphones
▪ Powers devices such as watches, TVs, and cars
▪ Over 2 Million Android apps in Google Play store
▪ Highly customizable for devices / by vendors
▪ Open source
IDE (Integrated Development Environment)
▪ Software suite that consolidates basic tools required to write
and test software.
▪ Without an IDE, a developer must select, deploy, integrate
and manage all of these tools separately.
▪ An IDE can b e a standalone application or it can b e part of a
larger package.
▪ For example:
Net beans, Eclipse, Android Studio
JDK (Java Development Kit)
▪ The JDK is one of three core technology packages used in
Java programming, along with the JVM (Java Virtual
Machine) and the JRE (Java Runtime Environment).
▪ The J VM is the Java platform component that executes
programs.
▪ The JRE is the on-disk part of Java that creates the JVM.
▪ The JDK allows developers to create Java programs that can
b e executed and run by the JVM and JRE.
JDK - JRE - JVM
AVD (Android Virtual Device )
▪ AVD is an emulator configuration that allows developers to
test the application by simulating the real device
capabilities.
▪ We can configure the AVD by specifying the hardware and
software options.
▪ AVD manager enables an easy way of creating and
managing the AVD with its graphical interface
LIBRARY
▪ It can include everything needed to build an app, including
source code, resource files, and an Android manifest.
▪ Complete package of something

▪ For example:
▪ Photo manipulation in android.
▪ Write code of scaling and animating for every time 
“Picasso” photo manipulating library
API (Application Programming Interface)
▪ API is a software intermediary that allows two applications
to talk to each other
▪ Connectivity with server and hardware
▪ For Example:
▪ Waiter in a hotel
▪ Each time you use an app like Facebook, send an instant message,
or check the weather on your phone, you’re using an API.
▪ Use Googl e map
▪ Book different flights from different sites
SDK (Software Development Kit)
▪ SDK or devkit, providing a set of tools, libraries, relevant
documentation, code samples, processes, and or guides that
allow developers to create software applications on a specific
platform.
▪ For Example:
▪ Build a house without tools
▪ For eat bread… seed…grow…harvest…eat 
▪ Write your own code from scratch 
ANDROID OLDER VERSIONS
No Name Version Released API level
1 Alpha 1.0 Sep 23, 2008 1
2 Beta 1.1 Feb 09, 2009 2
3 Cupcake 1.5 Apr 27, 2009 3
4 Donut 1.6 Sep 15, 2009 4
5 Éclair 2.0 – 2.1 Oct 26, 2009 5–7
6 Froyo 2.2 – 2.2.3 May 20, 2010 8
7 Gingerbread 2.3 – 2.3.7 Dec 06, 2010 9 – 10
8 Honeycomb 3.0 – 3.2.6 Feb 22, 2011 11 – 13
9 Ice-cream Sandwich 4.0 – 4.0.4 Oct 18, 2011 14 - 15
ANDROID OLDER VERSIONS
No Name Version Released API level
10 Jelly Bean 4.1 – 4.3.1 Jul 09, 2012 16 – 18
11 Kit Kat 4.4 – 4.4.4 Oct 31, 2013 19 – 20
12 Lollipop 5.0 – 5.1.1 Nov 12, 2014 21 – 22
13 Marshmallow 6.0 – 6.0.1 Oct 05, 2015 23
14 Nougat 7.0 – 7.1.2 Aug 22, 2016 24 – 25
15 Oreo 8.0 – 8.1 Aug 21, 2017 26 – 27
16 Pie 9.0 Aug 06, 2018 28
17 Android X 9.0- Sep, 2019 28-
ANDROID PLATFORM ARCHITECTURE
• Linux Kernel
• HAL
• ART
• Libraries
• Application Framework
• System Applications
❖ LINUX KERNEL
▪ This layer is the foundation of the Android Platform.
▪ Contains all low level drivers for various hardware
components support.
▪ Android Runtime relies on Linux Kernel for core system
services like,
• Memory, process management, threading etc.
• Network stack
• Driver model
• Security and more.
❖ HARDWARE ABSTRACTION LAYER

▪ Provides Abstraction between hardware and rest of the


software stack.
❖ ANDROID RUNTIME (ART)
▪ Designed to run apps in a constrained environment that has
limited muscle power in terms of battery, processing and
memory.
▪ Contains set of core libraries that enables developers to
write Android Apps using Java Programming.
▪ It also has a very efficient garbage collection.
❖ APPLICATION FRAMEWORK
▪ It is a collection of APIs written in Java, which gives developers
access to the complete feature set of Android OS.
▪ Enables and simplify the reuse of core components and services,
like:
Activity Manager:
• Manages the Lifecycle of apps & provide common navigation back
stack.
Window Manager:
• Manages windows and drawing surfaces, and is an abstraction of
the surface manager library.
Content Providers:
• Enables application to access data from other applications or to
share their own data
❖ APPLICATION FRAMEWORK
View System:
• Contains User Interface building blocks used to build an application's
UI, including lists, grids, texts, boxes, buttons, etc. and also performs the
event management of UI elements.
Package Manager:
▪ Manages various kinds of information related to the application
packages that are currently installed on the device.
Telephony Manager:
▪ Enables app to use phone capabilities of the device.
❖ APPLICATION FRAMEWORK
Resource Manager:
▪ Provides access to non-code resources (localized Strings, bitmaps,
Graphics and Layouts).
Location Manager:
▪ Deals with location awareness capabilities.
Notification Manager:
▪ Enable apps to display custom alerts in the status bar.
❖ SYSTEM APPLICATION
• Top of the Android Application Stack, is occupied by the System apps
and other Apps that users can download from Android's Official Play
Store, also known as Googl e Play Store.
• A set of Core applications are pre-packed in the handset like Email
Client, SMS Program, Calendar, Maps, Browser, Contacts and few more.
• This layer uses all the layers below it for proper functioning of these
mobile apps.
Installation of
ANDROID STUDIO
THANKYOU ☺

You might also like