2. What is Android?
• Android is an open source and Linux-based Operating System for mobile devices such as smartphones and
tablet computers. Android was developed by the Open Handset Alliance, led by Google, and other
companies.
• Android offers a unified approach to application development for mobile devices which means developers
need to develop only for Android, and their applications should be able to run on different devices
powered by Android.
• The first alpha version of the Android Software Development Kit (SDK) was released by Google in 2007,
whereas the first commercial version, Android 1.0, was released in September 2008.
• On June 27, 2012, at the Google I/O conference, Google announced the next Android version, 4.1 Jelly
Bean. Jelly Bean is an incremental update, with the primary aim of improving the user interface, both in
terms of functionality and performance.
• The source code for Android is available under free and open source software licenses. Google publishes
most of the code under the Apache License version 2.0 and the rest, Linux kernel changes, under the GNU
General Public License version 2.
3. What is Android?
• Android is a mobile operating system that is based on modified version of Linux with a Java
programming interface.
• It was originally developed by a Startup of same name Android, Inc. In 2005, as a part of its
strategy to enter the mobile space, Google purchased Android and it took its development
work.
• ndroid was developed by open handset Alliance((OHA) is Consortium of multiple companies
like Samsung, Sony, Intel and many more provide a services and deploy handsets using
Android platform.
• Android gives a chance to reuse the application components and the replacement of native
application.
• The most distinguishing feature of Android is that it gives equal opportunities two native
apps and third party apps to use its resources.
4. Features of Android
Feature Description
Beautiful UI Android OS basic screen provides a beautiful and intuitive user interface.
Connectivity GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, NFC and
WiMAX.
Storage SQLite, a lightweight relational database, is used for data storage purpose
Media support H.263, H.264, MPEG-4 SP, AMR, AMR-WB, AAC, HE-AAC, AAC 5.1, MP3,
MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF, and BMP
Messaging SMS and MMS
Web browser Based on the open-source WebKit layout engine, coupled with Chrome's
V8 JavaScript engine supporting HTML5 and CSS3.
Multi-touch Android has native support for multi-touch which was initially made
available in handsets such as the HTC Hero.
Multi-tasking User can jump from one task to another and same time various application
can run simultaneously.
Resizable
widgets
Widgets are resizable, so users can expand them to show more content or
shrink them to save space
5. Features of Android
Feature Description
Multi-Language Support single direction and bi-directional text.
GCM Google Cloud Messaging (GCM) is a service that let developers send short
message data to their users on Android devices, without needing a
proprietary sync solution.
Wi-Fi Direct A technology that let apps discover and pair directly, over a high
bandwidth peer-to-peer connection.
Android Beam A popular NFC-based technology that let users instantly share, just by
touching two NFC-enabled phones together.
6.
7.
8. Android Versions
Name Internal codename Version number(s) Initial stable release date
Supported
(security fixes)
Android 1.0 N/A (Alfa) 1.0 September 23, 2008 No
Android 1.1 Petit Four 1.1 February 9, 2009 No
Android Cupcake Cupcake 1.5 April 27, 2009 No
Android Donut Donut 1.6 September 15, 2009 No
Android Eclair Eclair
2.0 October 27, 2009 No
2.0.1 December 3, 2009 No
2.1 January 11, 2010 No
Android Froyo Froyo 2.2 – 2.2.3 May 20, 2010 No
Android Gingerbread Gingerbread
2.3 – 2.3.2 December 6, 2010 No
2.3.3 – 2.3.7 February 9, 2011 No
Android Honeycomb Honeycomb
3.0 February 22, 2011 No
3.1 May 10, 2011 No
3.2 – 3.2.6 July 15, 2011 No
Android Ice Cream
Sandwich
Ice Cream Sandwich
4.0 – 4.0.2 October 18, 2011 No
4.0.3 – 4.0.4 December 16, 2011 No
9. Android Versions
Name Internal codename Version number(s) Initial stable release date
Supported
(security fixes)
Android Jelly Bean Jelly Bean
4.1 – 4.1.2 July 9, 2012 No
4.2 – 4.2.2 November 13, 2012 No
4.3 – 4.3.1 July 24, 2013 No
Android KitKat Key Lime Pie
4.4 – 4.4.4 October 31, 2013 No
4.4W – 4.4W.2 June 25, 2014 No
Android Lollipop Lemon Meringue Pie
5.0 – 5.0.2 November 4, 2014 No
5.1 – 5.1.1 March 2, 2015 No
Android Marshmallow Macadamia Nut Cookie 6.0 – 6.0.1 October 2, 2015 No
Android Nougat New York Cheesecake
7.0 August 22, 2016 No
7.1 – 7.1.2 October 4, 2016 No
Android Oreo Oatmeal Cookie
8.0 August 21, 2017 No
8.1 December 5, 2017 No
Android Pie Pistachio Ice Cream 9 August 6, 2018 Yes
Android 10 Quince Tart 10 September 3, 2019 Yes
Android 11 Red Velvet Cake 11 September 8, 2020 Yes
Android 12 Snow Cone 12 October 4, 2021 Yes
Android 12L Snow Cone v2 TBA Q1 2022 Presupported
Android 13 Tiramisu 13 Q3 2022 Presupported
10. The Open Handset Alliance (OHA)
• Google and 33 other companies announced the formation of the Open Handset Alliance on 5
November 2007.
• According to the joint press release from that day:
• This alliance shares a common goal of development and innovation on mobile devices
and giving consumers a far better user experience than much of what is available on
old mobile platforms.
• By providing developers a new level of openness that enables them to work more
collaboratively, Android accelerates the pace at which new and compelling mobile
services are made available to consumers.
• As mobile application developers, we are free to develop creative mobile applications
and, free to market them to Android mobile phone owners, either free or profit by any
way.
• Each member of the Open Handset Alliance has its own reasons to participate and
contribute its intellectual property, and we are free to benefit it.
11. The Open Handset Alliance (OHA)
• The Open Handset Alliance integrates contributed software and other intellectual property from
its member companies and makes it available to developers through the open source community.
• Software is licensed through the Apache V2 license, which you can see at
http://www.apache.org/licenses/LICENSE-2.0.txt.
• Use of the Apache license is critical, because it allows handset manufacturers to take Android
code, modify it as necessary, and then either keep it proprietary or release it back to the open
source community, at their option.
• The original Alliance members includes five types of companies,
• Handset manufacturers - HTC, LG, Motorola, Samsung
• Mobile operators - China Mobile Communications, KDDI, DoCoMo, Sprint/Nextel, T-Mobile,
Telecom Italia, Telefonica.
• Semiconductor companies - Audience, Broadcom, Intel, Marvell, NVidia Qualcomm, SiRF,
Synaptics.
• Software companies - Ascender, eBay, esmertec, Google, LivingImage, LiveWire, Nuance,
Packet Video, SkyPop, SONiVOX
• Commercialization companies - Aplix, Noser, TAT, Wind River.
12. The Open Handset Alliance (OHA)
• The Alliance releases software through Google’s developer website (http://developer.android.com).
• The Android SDK for use by application software developers can be downloaded directly from that website.
13. Android ecosystem:
• Ecosystem in Market terminology refers to the inter-dependence between demand and supply.
• In the Android ecosystem this translates to inter-dependence between users, developers, and
equipment makers. One cannot exist without the other:
• Users buy devices and applications
• Equipment makers sell devices, sometimes bundled with applications
• Developers buy devices, then make and sell applications
14. Need of Android:
• Android is free.
• Open source.
• Open for customization.
• Large number of applications.
• Security.
• Widgets
• Custom ROMs
• Headset layout
• Storage
• Connectivity: GSM/EDGE, IDEN, CDMA, Bluetooth, WI-FI,
EDGE,3G,NFC, LTE,GPS.
• Messaging: SMS, MMS, C2DM (could to device messaging), GCM
(Google could messaging)
• Multilanguage support
• Multi-touch
• Video calling
• Screen capture
• External storage
• Streaming media support
• Optimized graphics
15. Android Architecture
Android architecture or Android software stack is categorized into five parts:
1. linux kernel
2. native libraries (middleware)
3. Android Runtime
4. Application Framework
5. Applications
16. Android Architecture
Android architecture or Android software stack is categorized into five parts:
1. linux kernel
2. native libraries (middleware)
3. Android Runtime
4. Application Framework
5. Applications
17. Android Architecture
1) Linux kernel
• It is the heart of android architecture that exists at the root of android architecture.
• Linux kernel is responsible for device drivers, power management, memory management,
device management and resource access like camera, keypad, display etc..
18. Android Architecture
2) Native Libraries / Platform Libraries
• On the top of linux kernel, their are Native Libraries includes various C/C++ core libraries and Java based
libraries such as WebKit, OpenGL, FreeType, SQLite, Media, C runtime library (libc) etc. to provide a support for
android development
• The WebKit library is responsible for browser support, SQLite is for database, FreeType for font support, Media
for playing and recording 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.
19. Android Architecture
3) Android Runtime
• In android runtime, there are core libraries and DVM (Dalvik Virtual Machine) which is responsible to run android
application. It consumes less memory and provides fast performance.
• The Dalvik VM makes use of Linux core features like memory management and multithreading, which is intrinsic
in the Java language.
• The Dalvik VM enables every Android application to run in its own process, with its own instance of the Dalvik
virtual machine.
• The Android runtime also provides a set of core libraries which enable Android application developers to write
Android applications using standard Java programming language. The core libraries enable us to implement
android applications using the standard JAVA or Kotlin programming languages.
20. Android Architecture
4) Android Framework
• On the top of Native libraries and android runtime, there is android framework.
• Android framework includes Android API's such as UI (User Interface), telephony, resources,
locations, Content Providers (data) and package managers.
• It provides a lot of classes and interfaces for android application development.
21. Android Architecture
5) Applications
• On the top of android framework, there are applications.
• All applications such as home, contact, settings, games, browsers are using android
framework that uses android runtime and libraries.
• Android runtime and native libraries are using linux kernal.
22. Best Android Application Development Tools
1) Android Studio / Eclipse
2) AVD Manager
3) Android SDK
4) JDK / Kotala
5) Unity 3D
23. Best Android Application Development Tools
1) Android Studio
• It’s very powerful software, offering the latest tools and plug-ins to create complex applications.
• Google made Android Studio in 2013. Among other Android app development tools, this software claims
to have more attention from developers across the globe.
• Android Studio gives code altering, troubleshooting, and testing devices all inside a simple to-utilize
intuitive interface. It is allowed to download and is strengthened by Google.
Features
a. Insightful code proof reader: As you type, Android Studio gives recommendations in a dropdown list.
Just press Tab to embed the code.
b. Quick and responsive emulator: It helps you to model and test any type of application on different devices
through an emulator. This impact the time and cost of android app
development.
c. C++ & NDK support
Advantages
• Powerful Testing Tools
• Powerful & Adaptable
• Cloud & Firebase Connectivity
24. Best Android Application Development Tools
2) AVD Manager
• The Android Virtual Device (AVD) is another Android app builder that simulates Android devices on your
computer so that you can test your application on a variety of devices and Android API levels without
having a mobile device.
• The emulator provides almost all of the capabilities of a real Android device. You can simulate incoming
phone calls and text messages, specify the location of the device, simulate different network speeds,
simulate rotation and other hardware sensors, access the Google Play Store, and much more.
Features
a. Quick Boot: The responses of this action are quick and the Android developer tools are reestablished to
the state at which you shut the emulator last (like waking a gadget).
b. Google Play Store: AVD offers versions of Android System Images that incorporate the Play Store
application. In addition, we will be able to test start to finish, introduce, update, and buy
streams with the Google Play Store.
c. Compatibility with CTS: this tool currently qualifies the last Android System Image works from Android
Nougat (API 24) and higher against the Android Compatibility Test Suite (CTS)
Advantages
• Improved Executions
• Compatibility & Support
• Display Easiness
25. Best Android Application Development Tools
3) Android SDK
• Android SDK is utilized for developing a vast number of applications.
• This also an IDE having numerous features to write, optimize, and test codebases for building mobile
applications on Android.
• This Android development kit provides excess tools, required for building any type of application and
guarantees the procedure goes as easily as could reasonably be expected.
• We can make an application utilizing Java, Kotlin or C#, we need the SDK to get it to run on any Android
device.
Features
a. Compatible APIs.
b. Available of Offline Maps: Android SDK helps in powerfully downloading the maps for in excess of 190 nations.
c. Debugger: This SDK has another great feature – Android Debug Bridge (ADB) that helps to connect the application
with the emulator and run them while testing the modules. This debugger can monitor every
instance when the application is on the run using the emulator.
Advantages
• Ease of Customization
• Versatile Development
• Quicker Deployment
26. Best Android Application Development Tools
4) Java Development Kit
• Since Android apps are written in Java, you will need the Oracle Java compiler and libraries on your system.
These are collectively called the Java Development Kit or "JDK" for short.
27. Android Core Building Blocks
• An android component is simply a piece of
code that has a well defined life cycle e.g.
Activity, Receiver, Service etc.
• The core building blocks or fundamental
components of android are activities, views,
intents, services, content providers,
fragments and AndroidManifest.xml.