2. Credits Hours 3(3,0)
Recommended Books
1. Professional Android application development, Reto Meier, Wrox Programmer to
Programmer, 2015.
2. Android Programming: The Big Nerd Ranch Guides, Phillips, B. & Hardy, B., 2nd
Edition, 2014.
3. iOS Programming: The Big Nerd Ranch Guide, Conway, J., Hillegass, A., & Keur, C.,
5th Edition, 2014.
3. Mobile Application Development Platform (MADP)
A mobile application development platform (MADP) is a type of
software that allows a individual or companies to rapidly build, test
and deploy mobile apps for smartphones.
MADP providers include Apple Xcode, Android Studio, Kinvey etc.
Kinvey offers cross-platform development for both iOS and Android,
while Apple Xcode and Android Studio only build apps in their
respective environments.
4. Operating Systems for Smartphones (Mobile)
• Android
• iOS
• Symbian
• Windows Mobile
• Blackberry OS
5. Android
Android is an operating system based on the Linux kernel, and designed primarily for
touchscreen mobile devices such as smartphones and tablet computers.
Android is an open source software stack for mobile devices that includes an operating
system, middleware and applications.
Initially developed by Android, Inc., which Google backed financially and later bought in
2005.
The project responsible for developing the Android system is called the Android Open
Source Project (AOSP) and is primarily lead by Google with Open Handheld Alliance
(OHA).
Android was unveiled in 2007. The first publicly available smartphone running Android,
the HTC Dream, was released on October 22, 2008.
6. Android is the most popular operating system in the world, with over 2.5 billion active
users spanning over 190 countries.
In end of 2021, the number of mobile apps available to Android users via the Google Play
Store experienced a constant increase, reaching 4.67 million apps during the last quarter
of 2021.
Open Handset Alliance (OHA)
Android is developed by a partnership of developers known as the Open Handset Alliance
and commercially sponsored by Google. It was disclosed in November 2007, with the first
commercial Android device, the HTC Dream, launched in September 2008.
7. Features/Characteristics of Android
The important features/characteristics of android are given below:
1) It is open-source.
2) Anyone can customize the Android Platform.
3) There are a lot of mobile applications that can be chosen by the consumer.
4) It provides many interesting features like weather details, opening screen, live RSS
(Really Simple Syndication) feeds etc.
5) It provides support for messaging services(SMS and MMS), web browser, storage
(SQLite), connectivity (GSM, CDMA, Blue Tooth, Wi-Fi etc.), media, handset layout etc.
8. Android Versions
The development of the Android operating system was started in 2003 by
Android, Inc. Later on, it was purchased by Google in 2005. The beta version
of Android OS was released on November 5, 2007, while the software
development kit (SDK) was released on November 12, 2007.
A software development kit is a collection of software development tools in
one installable package. They facilitate the creation of applications by having
a compiler, debugger and sometimes a software framework. They are
normally specific to a hardware platform and operating system combination.
13. Android Platform Components
Applications ‐ The Android Open Source Project contains several default
application, like
– Email Client
– SMS Program
– Calendar
– Maps
– Browser
– Contacts
– etc.
• All applications are written using the Java language.
14. Android Platform Components
Application Framework – Consist of API which allows high level interactions
with the Android system from Android applications.
– Managing the lifecycle of applications
– Providing access to non‐code resources (localized string, graphics, and
layout files)
– Enabling applications to access data from other applications or to
share their own data
– Providing user interface components
– etc.
15. Android Platform Components
Libraries ‐ Includes a set of C/C++ libraries used by components of the
Android system. Exposed to developers through the Android application
framework
– Recording and playback of audio and video formats
– Access to the display system and supports 2D and 3D
– WebKit library is responsible for browser support
– FreeType library is responsible for font support
– SQLite a relational database that is available on the device
– etc.
16. Android Platform Components
Runtime ‐ Core Java Libraries ‐ Providing most of the functionality available
in the core libraries of the Java language.
– Data Structures
– Utilities
– File Access
– Network Access
– Graphics
– etc.
17. Android Platform Components
Android Runtime (ART) ‐ Providing environment on which every Android
application runs.
– Replaces Dalvik (Used from 2.2 to 4.4)
– Dalvik used JIT (Just‐in‐Time) Compilation
– ART (5.0 onwards) uses AOT (Ahead‐of‐Time) Compilation
(Creates “Executable and Linkable Format” ELF)
18. Android Platform Components
Linux Kernel‐ Communication layer for the underlying hardware.
– Device drivers
– Memory management
– Process management
– Networking
– etc.
19. Android Application Components
App components are the essential building blocks of an Android application.
Each component is a different point through which the system can enter
your app.
Android applications are broken down into four main components:
– Activities
– Services
– Content Providers
– Broadcast Receivers
These are activated by an asynchronous message called an intent.
21. Android Application Components
Services - A service is a component that runs in the background to
perform long‐running operations.
• A service does not provide a user interface.
• For example, play music in the background while the user is in
a different app, or it might fetch data over the network.
22. Android Application Components
Content Providers - A content provider manages a shared set of app data.
• You can store the data in the file system, an SQLite database, on the web,
or any other persistent storage location your app can access.
• Through the content provider, other apps can query or even modify the
data (if the content provider allows it).
For example, the Android system provides a content provider that manages
the user's contact information.
23. Android Application Components
Broadcast Receivers- A broadcast receiver is a component that responds to
system wide broadcast announcements.
• Broadcast receivers don't display a user interface, but in some cases a
status bar notification is created to alert the user when a broadcast event
occurs.
• For example, a broadcast announcing that the screen has turned off, the
battery is low, or a picture was captured.
• Although Apps can also initiate broadcasts, many broadcasts also originate
from the system