Android Application
Development
Lesson 1: Getting Started with Android
Course: Mobile Application Development
Instructor: Muhammad Arslan Sarwar
Introduction to Android platform
Marketplace of Android
Android software stack
Contents
Android SDKs’ and their versions
Pre-requisites of Android
Android development issues/challenges
What is Android?
A software platform and operating system for mobile
devices
Based on the Linux kernel
1- Introduction Acquired by Google and later the Open Handset Alliance
To Android (OHA)*
Platform Can be programmed in C/C++ but mostly app development
is carried in Java & Kotlin
*Open Handset Alliance™, a group of 47 technology and mobile companies (including handset
manufacturers, software corporations, mobile operators, semiconductor manufacturers) have
come together to accelerate innovation in mobile and offer consumers a richer, less expensive,
and better mobile experience.
2- Marketplace Of
Android
Globally: 70% of mobile OS
Africa: 80%
Asia: 84%
Europe: 72%
North America: 51%
South America 88%
iPhone is used by richer and more affluent users, and so, iPhone
users are more likely to spend money on apps than Android users.
2- Marketplace
Of Android
Despite Android’s
massive market share,
iOS still makes more
money
Reasons to choose android instead iOS
Number of targeted users
More then 70% mobile users accessible
2- Marketplace Popular in region of Asia, our local market
Of Android Improved profitability
In contradict to past, Android apps are becoming more and more
profitable as iOS (app purchases, ads)
Then why Android Less advertising cost
App Development? Low barrier of entry
Why not iOS? Development environment, don’t need to pay for new hardware,
Store registration ($99 yearly vs $25 lifetime)
Ease of development
Play store
Java/Kotlin
Android studio
3- Architecture
of Android:
Android
Software Stack
3- Android Android provides a set of core applications:
Email Client
Software Stack SMS Program
Calendar
Applications Maps
Browser
Contacts
Etc.
Feature Role
3- Android Content Enabling applications to access data from other
Software Stack Provider applications or to share their own data
Resource Providing access to non-code resources (localized
Application Manager string, graphics, and layout files)
framework Notificati Enabling all applications to display customer alerts
on in the status bar
Manager
Activity Managing the lifecycle of applications and
Manager providing a common navigation backstack
3- Android
Software Stack
Including a set of C/C++ libraries used by components of the
Libraries Android system
Exposed to developers through the Android application
framework
Core Libraries
3- Android Providing most of the functionality available in the core libraries of the
Java language
Java APIs
Software Stack Data Structures
Utilities
File Access
Android runtime Network Access
Graphics
Etc.
The Dalvik runtime is optimized for mobile applications
Replaced with ART from lollipop (faster but increases app’s installation
time)
• Relying on Linux Kernel for core system services
3- Android • Memory and Process Management
Software Stack • Network Stack
• Driver Model
Linux kernel
• Security
• The supplied device drivers include Display, Camera,
Keypad, Wi-Fi, Flash Memory, Audio, and IPC (inter-
process communication).
• Providing an abstraction layer between the H/W and the
rest of the S/W stack
Android SDKs(Software Development Kit) includes libraries and
tools required to develop, debug, test and release Android apps.
An SDK package includes:
4- Android SDK-tools: tools for debugging and testing
SDKs’ and SDK platform tools: platform-dependent tools for developing and
debugging your application. These tools support the latest features
their versions of the Android platform and are typically updated only when a new
platform becomes available. These tools are always backward
compatible with older platforms.
Other packages: Documentation, System Images, Sources for
Android SDK, Samples, Google APIs support, Google play billing and
licensing.
15 (Beta 4) API level 35
Android is Upside Down Cake 14 API level 34
continuously
improving itself T 13 API level 33
by adding new
features and S 12 API level 31,32
functionalities
and improving R 11 API level 30
existing
4- Android libraries.
Q 10 API level 29
SDKs’ and Each new SDK Pie 9 API level 28
version Oreo 8.1.0 API level 27
their versions contains new
libraries, Oreo 8.0.0 API level 26
updated
libraries and Nougat 7.1 API level 25
even discards
old libraries by Nougat 7.0 API level 24
replacing with Marshmallow 6.0 API level 23
new one
(deprecation) Lollipop 5.1 API level 22
Lollipop 5.0 API level 21
Object Oriented Programming concepts
Class fundamentals
5- Pre- Inheritance concepts
requisites of Type casting, Access modifiers
Android Core programming concepts
Arrays and operators
Control statements
Concepts of designing using HTML/XML
Supporting multiple screens
Multiple screen sizes
Screen resolutions
6- Android Screen orientations
development Compatibility
issues/ Run apps on older platform versions
challenges Arranging your code
Designing According to need/market
Working with multiple android components
Activities, fragments, utility classes, broadcast receivers,
services
Intro to Android (Android Developer Fundamentals,
Reference Unit 1: Lesson 1.0) – Google Developers India
https://www.youtube.com/watch?v=xNPkXGdVw7E&
Video list=PLlyCyjh2pUe9wv-hU4my-
Nen_SvXIzxGB&index=2
Visit and read blog:
https://dev.to/javafullstackdev/the-ultimate-mobile-
Self Exercise app-developer-roadmap-for-2024-5ep
Try installing