2. Overview
What is Android?
What android has done to Smart Phone Market?
Ways to get android applications
Android inventors
Android Versions and Statistics
Android Features
Platform Architecture
Technology Stack
Android Application Life Cycle
Technologies with Android Application Development
Challenges in Android
Important Links
3. What is Android?
It is a mobile platform, consist of
Operating System – Linux kernel
Middleware - Bridge between OS and applications (s/w)
Key applications – Default System Applications
An open platform for developers, users & industry
7. OHA (Open handset alliance)
A business alliance consisting of more than 50 companies to develop open standards
for mobile devices
8. Android Versions
Code name Version number API Level Initial release date
(No codename)[4] 1.0 1 September 23, 2008
(Internally known as "Petit Four")[4] 1.1 2 February 9, 2009
Cupcake 1.5 3 April 27, 2009
Donut[5] 1.6 4 September 15, 2009
Eclair[6] 2.0–2.1 5-6 October 26, 2009
Froyo[7] 2.2–2.2.3 7-8 May 20, 2010
Gingerbread[8] 2.3–2.3.7 9-10 December 6, 2010
Honeycomb[9] 3.0–3.2.6 11-13 February 22, 2011
Ice Cream Sandwich[10] 4.0–4.0.4 14-15 October 18, 2011
Jelly Bean[11] 4.1–4.3.1 16-18 July 9, 2012
KitKat[12] 4.4–4.4.4 19-20 October 31, 2013
Lollipop[14] 5.0–5.1.1 21-22 November 12, 2014
Marshmallow[15] 6.0–6.0.1 23 October 5, 2015
Nougat[16] 7.0–7.1.2 24-25 August 22, 2016
O 8.0 26 TBA
10. Android Features
Hardware Features
Cellular Networking
LAN : Bluetooth, Wi-fi Direct
Graphical hardware accelerations
Biometric touch screen support
Improved battery backup
Software Features
SQLite database support for relational data storage
Dalvik Virtual Machine/ Android Runtime optimized for mobile devices
Media Support for audio, video and different image formats
Multi window support
OK Google to serve you immediately
Limited background task execution to specific interval – Location Updates
12. Foundation of Android Platform
Allow device manufacturers to develop h/w drivers for well known kernel
Android Runtime relies for following functionalities
Threading
Low – Level Memory management
13. Provide standard interfaces that expose device hardware capabilities to the higher level
Java API framework. E.g. Camera or Bluetooth
14. From Android version 5.0 (API Level 21 or
higher), each application runs with its own
process and own instance of Android
runtime.
For low memory devices android ART runs
multiple virtual machines by using Dex
(Dalvik Executable) files (Avoid 64K)
Features
Ahead of time (AOT) and Just in time (JIT)
Compilation
Optimized garbage collection
Better debugging support and crash
reporting
15. Core components such as ART, HAL are built using native code that requires native
libraries written in C / C++.
16. Entire feature set available in this framework and that written in JAVA language.
This API help us to create android applications by using building blocks, which including
following
View system Develop app rich and extensible UI such as text, list, grid, edittext etc.
Resource Manager Provide access to non code resources such layout, strings, dimens files
Notification Manager Display custom notification in status bar
Activity Manager Manages lifecycle of app and provide back stack mechanism
Content Providers Enables Apps to access data from other apps
17. Android comes with a set of core apps for email, SMS messaging, calendars, internet browsing,
contacts, and more. Apps included with the platform have no special status among the apps the
user chooses to install. So a third-party app can become the user's default web browser, SMS
messenger, or even the default keyboard (some exceptions apply, such as the system's Settings
app).
18. Technology Stack
IDE
Android Studio
Eclipse
JDK
Android Development Tool
Android SDK
Development Languages
Core Java - Cover Functional Part of application
Kotlin – Alternative for Java introduced in Google I/O 2017
Xml – Cover responsive UI for mobile
22. Development Tools
Android Emulator
A virtual Android device that allows us to develop, debug, test our application in android
runtime environment
Dalvik Debug Monitor Service
Debug application
USB Port connection management for external devices
Heap/Stack Management
Memory Management
UI - Automator
26. Challenges in Android App Development
Software Fragmentation Its very hard for developer to keep sync up in the aspect of
display with multiple android devices. Its not good practice to keep development limited
to few devices.
Hardware Fragmentation There are more than 200+ device vendors, each vendor creates
device with its own features such as keyboard form, Screen Size, Camera Button etc.
Security Due to lack of strict app development guidelines, developed applications are
easily vulnerable.
Android Market Search Engine One of the major Android app development challenges for
developers is the Android marketplace. Android has more than 8 million apps on its
marketplace today and getting your app visible amongst them is a challenge. As a result,
even with a great android app developed, if you don’t pay attention to its promotion, you
may lose out on gaining any traction.
27. Technologies with Android
IoT (Internet of things) is the inner-networking of physical devices, vehicles, buildings
embedded with software, sensors which enables these object to collect and
exchanged data. e.g Send weather report using BLE Beacon on smartphone.
Virtual reality (VR) is a technology that uses headsets, sometimes in combination with
physical spaces or multi-projected environments, to generate realistic images, sounds
and other sensations that simulates a user's physical presence in a virtual or imaginary
environment.
28. Important Links
Android Studio - https://developer.android.com/studio/index.html
Android Training - https://developer.android.com/training/index.html
Android VR - https://developers.google.com/vr/android/get-started
Android IoT - https://developer.android.com/things/index.html
https://en.wikipedia.org/wiki/Internet_of_things