2. Android is an open source and Linux-based Operating
System for mobile devices such as Smartphone's 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 only develop for Android, and their applications
should be able to run on different devices powered by
Android. The first beta version of the Android Software
Development Kit (SDK) was released by Google in 2007
where as the first commercial version, Android 1.0, was
released in September 2008.
3/27/2022
Dharmendra Singh
What is Android?
3. Andrew E. Rubin is an American computer
programmer, engineer, entrepreneur, and
venture capitalist. He is the founder and
former CEO of venture capital
firm Playground Global as well as the co-
founder and former CEO of both Danger
Inc. and Android Inc
He was nicknamed "Android" by his co-
workers at Apple in 1989 due to a love of
robots, with the nickname eventually
becoming the official name of
the Android operating system. As the creator
of the Android operating system, he's also
known as the "Father of Android".
3/27/2022
Dharmendra Singh
Andrew E. Rubin: "Father of Android".
4. Android version history
3/27/2022
Dharmendra Singh
The version history of the Android mobile operating
system began with the release of the Android alpha in
November 5, 2007. The first commercial version,
Android 1.0, was released in September 2008. Android
is continually developed by Google and the Open
Handset Alliance, and it has seen a number
of updates to its base operating system since the initial
release.
5. Android version history
3/27/2022
Dharmendra Singh
Versions 1.0 and 1.1 were not released under
specific code names. Android code names are
confectionery-themed and have been in alphabetical
order since 2009's Android 1.5 Cupcake, with the most
recent major version being Android 7.0 Nougat,
released in August 2016
6. Android version history
3/27/2022
Dharmendra Singh
Code name
Version
number
Initial release
date
API
level
Support status
No codename) 1.0
September 23,
2008
1 Unsupported
Internally known as
"Petit Four"
1.1 February 9, 2009 2 Unsupported
Cupcake 1.5 April 27, 2009 3 Unsupported
Donut 1.6
September 15,
2009
4 Unsupported
7. Android version history
3/27/2022
Dharmendra Singh
Code
name
Version
number
Initial release date
API
level
Support status
Eclair 2.0–2.1 October 26, 2009 5–7 Unsupported
Froyo
2.2–
2.2.3
May 20, 2010 8 Unsupported
Gingerbre
ad
2.3–
2.3.7
December 6, 2010 9–10 Unsupported
Honeycom
b
3.0–
3.2.6
February 22, 2011 11–13 Unsupported
8. Android version history
3/27/2022
Dharmendra Singh
Code
name
Version
number
Initial
release
date
API level Support status
Ice Cream
Sandwich
4.0–4.0.4
October 18,
2011
14–15 Unsupported
Jelly Bean 4.1–4.3.1 July 9, 2012 16–18 Unsupported
KitKat 4.4–4.4.4
October 31,
2013
19–20 Supported
Lollipop 5.0–5.1.1
November
12, 2014
21–22 Supported
9. Android version history
3/27/2022
Dharmendra Singh
Code
name
Version
number
Initial release
date
API
level
Support status
Marsh
mallow
6.0–6.0.1
October 5,
2015
23 Supported
Nougat 7.0–7.1.2
August 22,
2016
24–25 Supported
Oreo 8.0 – 8.1
August 21,
2017
26-27
Supported
Pie 9
August 6,
2018
28
Supported
10. Android version history
3/27/2022
Dharmendra Singh
Code
name
Version
number
Initial release
date
API
level
Support status
Androi
d 10
10
September 3,
2019
29 Yes
Androi
d 11
11 Sep 2020
30 yes
12 12
October 4,
2021
31 yes
11. Global Android version distribution as of May 2020
3/27/2022
Dharmendra Singh
Version Per Version Per
9.0 Pie 35.36% 6.0 Marshmallow 8.77%
10.0 10 19.22% 8.0 Oreo
7.27%
8.1 Oreo 11.64% 7.0 Nougat 6.03%
Source : https://gs.statcounter.com/android-version-market-
share/mobile/worldwide
12. Watches
The MOTO ACTV is so advanced that Motorola doesn’t
even call it a watch. The “fitness device” incorporates a
GPS tracker, MP3 player, and heart rate monitor. Here are a
few specs:
1.6-inch screen protected by Gorilla Glass
600MHz TI OMAP processor
256 MB RAM
8GB or 16GB of storage
FM radio, Bluetooth, Wi-Fi
Weight: 35g
3/27/2022
Dharmendra Singh
Devices running android
13. Smart glasses
Google has an awesome new product in the pipeline, a
pair of smart glasses, reportedly coming later this year.
For now, all we have is rumors, but that’s enough to get
an idea about how will these ground-breaking glasses
will work. What we know so far:
Heads Up Display (HUD) – the image will be imposed
on your field of view
3/27/2022
Dharmendra Singh
Devices running android
14. GPS tracker included
Controllable with head tilts and voice commands
Integrated with Google Maps, Goggles, Latitude, and
other services
Running Android
Video camera included
Processor, RAM, and storage that are similar to a
smartphone’s
Cost: $250-$600
3/27/2022
Dharmendra Singh
15. Home Appliances
Smart appliances running Android are already here.
Samsung and LG (who else) have a few interesting products
available, including a fridge with a built-in
touchscreen display running Android or a washing
machine that can connect to your smartphone and tell you
how long you have to wait for the washing cycle to end.
Besides the obvious apps (cooking recipes, food inventory,
dieting, remote control), these smart appliances can also
connect to the net, so you can read your mail or check out
your Twitter feed before grabbing your milk.
3/27/2022
Dharmendra Singh
17. Cars
Speaking of moving forward, carmakers have long
been criticized for not updating in-car technology for
the 21th century. But slowly, things are changing.
A number of automakers, upstream suppliers, and
aftermarket providers have created Android-based
infotainment systems. One of the best efforts belongs to
struggling Swedish automaker Saab (formerly owned
by GM). Saab’s iQon includes all the tricks you would
expect from an infotainment system, plus a voice
controlled navigation system, a full-fledged browser,
and an app store. Moreover, iQon has access to the
internal sensors of the car, which are made available to
developers via an API.
3/27/2022
Dharmendra Singh
18. Homes
Home automation systems (HAS) have been
around for a while. Costing from $5000 for a
basic system to $300,000 for the more
extravagant setups, automation systems are
increasingly popular, especially for newly
built homes. Typical systems control heating
and cooling, lighting, and alarms, but there is
little you can’t automate in a home –
appliances, sprinklers, pools, home theaters,
etc.
3/27/2022
Dharmendra Singh
19. Cameras
Some may argue that the 8 MP camera of
a Samsung Galaxy S2 is better than many
point-and-shoot cameras out there. But that
won’t stop camera manufacturers like
Polaroid from adding Android to their
offerings.
3/27/2022
Dharmendra Singh
20. Smart TVs
Making television smarter is a hot trend this
year, and Android is, for many manufacturers,
the smart TV operating system of choice.
Smart TVs connect to the Internet and can
run apps, have built-in webcams for Skyping,
and can connect wirelessly to your laptop,
tablet, or smartphone. Just consider them
really big computers that you can operate
with a remote control.
3/27/2022
Dharmendra Singh
21. DECT phones
If you’re tablet and smartphone are not
enough to feed your Android addiction,
maybe you can get your fix with the
$169 Archos 35 Smart Home Phone. The
gadget can pair with your Android
smartphone to sync contacts and apps, which
you will be able to run on the “handset”.
Other nifty features are the video chat app,
the email access, and built-in web browser.
3/27/2022
Dharmendra Singh
22. The Archos 35 brings the DECT phone right
into the mobile age. Who knows, smart DECT
phones might even slow down the landlines’
inevitable drift into obsolescence.
3/27/2022
Dharmendra Singh
23. Game consoles
For most of us, our Android
smartphone is our gaming device. However,
you can get a real portable gaming console
that runs on Android 2.2 and plays just about
any game. How’s that possible? Well, the JXD
S7100 gaming tablet (coming at you straight
from Shenzhen, China) includes an emulator
that lets you play classic titles, such as Mario
Kart 64, King of Fighters ’97, or Tomb Raider.
Just don’t ask about the copyright, though…
3/27/2022
Dharmendra Singh
25. Mirrors (you read that right)
Have you ever dreamt of checking your Facebook
status while brushing your teeth in the morning? What,
you haven’t? Anyway, the Cybertecture smart mirror
will let you do just that. Seeing it in action, you can’t
help thinking that it’s the future. Basically, the gadget is
an interactive display running Android, which happens
to double as a mirror. You can check your Facebook
status, read the news, even emails, all from your
bathroom.
3/27/2022
Dharmendra Singh
26. There are multiple operating systems
powering our mobile devices today. For both
indie developers and large companies, there
is a critical question that needs to
be answered before development
begins: what platform should be targeted
first? For larger companies, with more
resources, development can be done
simultaneously for different platforms, while
for smaller shops, it is a very critical
question, which could determine the success
or failure of the business.
3/27/2022
Dharmendra Singh
27. Portability
Native Android apps are developed using the
Java programming language, and can easily
be ported to other mobile operating systems
like Blackberry, Symbian and Ubuntu. In
addition, Android apps can also be ported
easily to Chrome OS. Not surprisingly,
Microsoft has also announced that it
will provide an easy method to port Android
apps to Windows 10 devices.
3/27/2022
Dharmendra Singh
28. Android Studio
Android Studio is an excellent IDE, based on
the equally excellent IntelliJ IDE. As the name
suggests, Android Studio is an IDE designed
and developed specifically for Android app
development. It is blazingly fast and efficient,
and you can setup a new Android project for
different types of Android apps within
seconds. When Android was launched,
Android app development was done with
Eclipse and the Android Developer Tools
plugin. However, that changed with the
release of Android Studio. Some key features
include:
3/27/2022
Dharmendra Singh
29. Gradle-based build system
Live-layout WYSIWYG Editor with real time app
layout rendering
Option to preview a layout on multiple screen
configurations while editing
Build variants and multiple apk file generation
Lint tools (used to catch usability, performance, version
compatibility and other issues)
Supports developing Android Wear, TV and Auto apps
Enables app integration with Google Cloud Platform
(App Engine and Google Cloud Messaging
3/27/2022
Dharmendra Singh
30. Java
Java is a proven and powerful programming language, used on a
wide range of devices and operating systems. Learning Java can
open doors for other opportunities, including the ability to
develop applications for other operating systems (Windows,
Linux) and devices. Developing for iOS, on the other hand,
requires that you learn one of Apple’s development languages
(Objective C or Swift). Both of these languages are really only
used for Apple-centric development (iOS and OS X), and the
skills needed to develop in these languages cannot be carried
over to other operating systems. But to be fair, Apple has
announced Swift will be open sourced, with Linux tools available
before the end of the year.
3/27/2022
Dharmendra Singh
31. Google Play Store
Apps deployed to the Google Play store are available
for download by users within a few hours, compared to
a few weeks for Apple’s App Store. An app can literally
be updated multiple times a day on the Google play
store, in response to user complaints and/or issues,
while on the App store, your app would have to pass
through the same lengthy process whenever you submit
an update and/or bug fix. For a new app or game that
might need to be constantly and speedily refined and
updated in response to user feedback, the Play Store is
the perfect platform.
3/27/2022
Dharmendra Singh
32. Low barrier of entry
To develop for iOS devices, a developer must use a
Mac. However, Android app development can be done
on Windows, Mac and Linux. Also, to register as a
developer on the Apple App Store requires a yearly fee
of $99, whereas to register as a developer on the
Google Play Store requires a one time payment of $25.
In plain terms, all a developer needs to begin
developing and releasing Android apps is a $25
payment, and a computer, while for iOS, you will
require a Mac and a $99 yearly subscription.
3/27/2022
Dharmendra Singh
33. Profitability
The general consensus has always been that the iPhone is used by richer
and more affluent users, and so, iPhone users are more likely to spend
money on apps than Android users. This might have been true in the
past, but not any more. In most app categories, Android apps have been
found to be as profitable (even more profitable in some instances) as
iPhone apps, both for initial app purchases and for in-app purchases. Also,
with many apps using a free with ads model, as long as the ads are being
shown to app users, the app generates income. According to DAU-UP, the
average revenue per user for Android games was a measly 20% of that
from iOS games in January 2014. By December 2014, the figure had
spiked to 65%. In addition, advertising costs are generally lower on
Android devices, which means that apps can advertise to more users on
Android devices than users on iOS devices for the same amount.
3/27/2022
Dharmendra Singh
35. This has to be the number one reason why indie developers should develop
for Android first. According to IDC, Android absolutely dominated the
number of smartphones shipped worldwide in the first three months of
2015, with 78% market share. The estimated total number of Android
devices in the hands of consumers, as at December 2014, according
to statista.com, lies north of 1.6 billion. This is a staggering amount, and a
very large potential market of users. Compare this with an estimated 395
million iOS devices, and 46 million and 45 million Windows and
Blackberry devices respectively. If you are designing an app (or game) for
the general public, it makes economic sense to target the platform that
would give you the greatest access to potential users.
3/27/2022
Dharmendra Singh
36. Features of Android
3/27/2022
Dharmendra Singh
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 purposes.
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
37. Features of Android
3/27/2022
Dharmendra Singh
Feature Description
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.
38. Features of Android
3/27/2022
Dharmendra Singh
Feature Description
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.
42. Components Description
Activities They dictate the UI and handle the user interaction to
the smart phone screen
Services They handle background processing associated with
an application.
Broadcast
Receivers
They handle communication between Android OS and
applications.
Content Providers They handle data and database management issues.
3/27/2022
Dharmendra Singh
Application Components
43. An activity represents a single screen with a user
interface. For example, an email application might have
one activity that shows a list of new emails, another
activity to compose an email, and another activity for
reading emails. If an application has more than one
activity, then one of them should be marked as the
activity that is presented when the application is
launched. An activity is implemented as a subclass of
Activity class as follows:
public class MainActivity extends Activity
{
}
3/27/2022
Dharmendra Singh
Activities
44. A service is a component that runs in the background to
perform long-running operations. For example, a service
might play music in the background while the user is in a
different application, or it might fetch data over the
network without blocking user interaction with an
activity. A service is implemented as a subclass of
Service class as follows:
public class MyService extends Service {
3/27/2022
Dharmendra Singh
Services
45. Broadcast Receivers simply respond to broadcast
messages from other applications or from the
system. For example, applications can also initiate
broadcasts to let other applications know that some
data has been downloaded to the device and is
available for them to use, so this is broadcast
receiver who will intercept this communication and
will initiate appropriate action. A broadcast receiver
is implemented as a subclass of BroadcastReceiver
class and each message is broadcasted as an Intent
object. public class MyReceiver extends
BroadcastReceiver { }
3/27/2022
Dharmendra Singh
Broadcast Receivers
46. A content provider component supplies data from one
application to others on request. Such requests are
handled by the methods of the ContentResolver
class. The data may be stored in the file system, the
database or somewhere else entirely. A content
provider is implemented as a subclass of
ContentProvider class and must implement a
standard set of APIs that enable other applications to
perform transactions.
public class MyContentProvider extends
ContentProvider { }
3/27/2022
Dharmendra Singh
Content Providers
47. A content provider component supplies data from one
application to others on request. Such requests are
handled by the methods of the ContentResolver class. The
data may be stored in the file system, the database or
somewhere else entirely. A content provider is
implemented as a subclass of ContentProvider class and
must implement a standard set of APIs that enable other
applications to perform transactions.
public class MyContentProvider extends
ContentProvider { }
3/27/2022
Dharmendra Singh
Content Providers
48. Components Description
Fragments Represents a behavior or a portion of user interface in an
Activity
Views UI elements that are drawn onscreen including buttons,
lists forms etc.
Layouts View hierarchies that control screen format and
appearance of the views.
Intents
Resources
Messages wiring components together.
External elements, such as strings, constants and
drawables pictures.
Manifest Configuration file for the application.
3/27/2022
Dharmendra Singh
Additional Components
49. The first step is to create a simple Android Application
using Eclipse IDE. Follow the option File -> New ->
Project and finally select Android New Application
wizard from the wizard list. Now name your
application as
3/27/2022
Dharmendra Singh
Create Android Application
56. Sr.No. Folder, File & Description
1
Java
This contains the .java source files for your project. By default, it
includes an MainActivity.java source file having an activity class that
runs when your app is launched using the app icon.
2
res/drawable-hdpi
This is a directory for drawable objects that are designed for high-
density screens.
3
res/layout
This is a directory for files that define your app's user interface.
4
res/values
This is a directory for other various XML files that contain a collection
of resources, such as strings and colours definitions.
5
AndroidManifest.xml
This is the manifest file which describes the fundamental
characteristics of the app and defines each of its components.
6
Build.gradle
This is an auto generated file which contains compileSdkVersion,
buildToolsVersion, applicationId, minSdkVersion, targetSdkVersion,
versionCode and versionName
3/27/2022
Dharmendra Singh
61. The Dalvik Virtual Machine (DVM) is an android
virtual machine optimized for mobile devices. It
optimizes the virtual machine for memory, battery
life and performance.
Dalvik is a name of a town in Iceland. The Dalvik VM
was written by Dan Bornstein.
The Dex compiler converts the class files into the .dex
file that run on the Dalvik VM. Multiple class files are
converted into one dex file.
Let's see the compiling and packaging process from the
source file:
3/27/2022
Dharmendra Singh
Dalvik Virtual Machine | DVM
63. The javac tool compiles the java source file
into the class file.
The dx tool takes all the class files of your
application and generates a single .dex file. It
is a platform-specific tool.
The Android Assets Packaging Tool
(aapt) handles the packaging process.
3/27/2022
Dharmendra Singh
64. Software Development Kit (SDK) is basically a set of
software development tools that allow developers to
create applications, software or frameworks.
Android software development is the process of
creating new applications running on the Android
operating system. Android apps are usually written in
Java, C++, or Kotlin.
3/27/2022
Dharmendra Singh
Software development kit
65. favorite tools currently being used for
Android application development:
Android Studio
Android SDK
Android SDK Platform Tools
Android SDK Tools
Android NDK
3/27/2022
Dharmendra Singh
66. Android Studio is a fully integrated, open-source
development environment for the Android operating
system, developed by Google. It offers a Gradle-based
management system that provides greater flexibility in
the build process.
Android Studio is available for Windows, macOS, and
Linux platforms, and you can download it from the
Android Studio homepage
https://developer.android.com/studio
3/27/2022
Dharmendra Singh
Android Studio
67. Android Studio is a fully integrated, open-source
development environment for the Android operating
system, developed by Google. It offers a Gradle-based
management system that provides greater flexibility in
the build process.
Android Studio is available for Windows, macOS, and
Linux platforms, and you can download it from the
Android Studio homepage
https://developer.android.com/studio
3/27/2022
Dharmendra Singh
Android Studio
68. For a .exe file (recommended), double-click to launch it.
For a .zip file, unpack the ZIP and copy the android-
studio folder into your Program Files folder. Open
the android-studio/bin folder and launch the .exe file.
Follow the setup instructions in Android Studio and
install any SDK packages that it recommends.
3/27/2022
Dharmendra Singh
Android Studio Install for Windows