Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
23 views

Unit1 Android

Android is an open source operating system developed by Google and the Open Handset Alliance for mobile devices. This document provides an overview of Android including its history, architecture, development tools and key features. The history section outlines how Android was founded and the major versions released. The features section describes capabilities such as connectivity, storage, media support, messaging, web browsing and more.

Uploaded by

dinnurajesh9814
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views

Unit1 Android

Android is an open source operating system developed by Google and the Open Handset Alliance for mobile devices. This document provides an overview of Android including its history, architecture, development tools and key features. The history section outlines how Android was founded and the major versions released. The features section describes capabilities such as connectivity, storage, media support, messaging, web browsing and more.

Uploaded by

dinnurajesh9814
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 12

Android Programming

UNIT 1:

S.NO Topic Pg .no


1 History of Android 1
2 Introduction to Android 3
Operating Systems
3 Android Architecture 9
4 Android Development Tools

Android is an open source and Linux-based operating system for


mobile devices such as smart phones and tablet computers.
o It is developed by Google and later on by the OHA (Open Handset
Alliance).
o Android was developed by the Open Handset Alliance, led by Google,
and other companies.
o It's a consortium of 84 companies such as Google, Samsung, AKM,
Synaptics, KDDI, Garmin, Teleca, EBay, Intel etc.
o Android offers a unified approach to application development for
mobile devices which means developers need to only develop for
Android, and their applications should be able to run on different
devices powered by Android.

History of Android
The android history in a sequence:

1) Initially, Andy Rubin founded Android Incorporation in Palo Alto,


California, United States in October, 2003.

2) In 17th August 2005, Google acquired android Incorporation. Since then,


it is in the subsidiary of Google Incorporation.

3) The key employees of Android Incorporation are Andy Rubin, Rich


Miner, Chris White and Nick Sears.

4) Originally intended for camera but shifted to smart phones later because
of low market for camera only.
Page | 1
Android Programming

5) Android is the nick name of Andy Rubin given by co-workers because of


his love to robots.

6) In 2007, Google announces the development of android OS.

7) In 2008, HTC launched the first android mobile.

 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.

VERSION CODE NAME DATE


1.0 No codename Sept 23, 2008
1.1 Petit Four Feb 9, 2009
1.5 CupCake April 27,2009
1.6 Donut Sept 15, 2009
2.0 - 2.1 É clair Oct 26, 2009
2.2 – 2.2.3 Froyo May 20, 2010
2.3 – 2.3.7 Gingerbread Dec 6, 2010
3.0 – 3.2.6 Honeycomb Feb 22, 2011
4.0 – 4.0.4 Ice Cream Sandwich Oct 18, 2011
4.1 – 4.3.1 Jelly Bean July 9, 2012
4.4 – 4.4.4 KitKat Oct 31, 2013
5.0 – 5.1.1 Lollipop Nov 12, 2014
6.0 – 6.0.1 Marshmallow Oct 15, 2015
7.0 – 7.1.2 Nougat Aug 22, 2016
8.0 – 8.1 Oreo Aug 21, 2017

Features of Android
Android is a powerful operating system competing with Apple 4GS and supports great
features. Few of them are listed below −

Page | 2
Android Programming

S No Feature & Description

1 Beautiful UI
Android OS basic screen provides a beautiful and intuitive user
interface.

2 Connectivity
GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE,
NFC and WiMAX.

3 Storage
SQLite, a lightweight relational database, is used for data storage
purposes.

4 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.

5 Messaging
SMS and MMS

6 Web browser
Based on the open-source WebKit layout engine, coupled with
Chrome's V8 JavaScript engine supporting HTML5 and CSS3.

7 Multi-touch
Android has native support for multi-touch which was initially
made available in handsets such as the HTC Hero.

8 Multi-tasking
User can jump from one task to another and same time various
applications can run simultaneously.

Page | 3
Android Programming

9 Resizable widgets
Widgets are resizable, so users can expand them to show more
content or shrink them to save space.

10 Multi-Language
Supports single direction and bi-directional text.

11 GCM
Google Cloud Messaging (GCM) is a service that lets developers
send short message data to their users on Android devices,
without needing a proprietary sync solution.

12 Wi-Fi Direct
A technology that lets apps discover and pair directly, over a
high-bandwidth peer-to-peer connection.

13 Android Beam
A popular NFC-based technology that lets users instantly share,
just by touching two NFC-enabled phones together.

General
Messaging
SMS and MMS are available forms of messaging, including
threaded text messaging and Android Cloud To Device Messaging
(C2DM) and now enhanced version of C2DM, Android Google Cloud
Messaging (GCM) is also a part of Android Push Messaging services.
Auto Correction and Dictionary
Android Operating System has an interesting feature called Auto
Correction. When any word is misspelled, then Android recommends
the meaningful and correct words matching the words that are
available in Dictionary. Users can add, edit and remove words from
Dictionary as per their wish[4].
Web browser

Page | 4
Android Programming

The web browser available in Android is based on the open-


source Blink (previously WebKit) layout engine, coupled
with Chrome's V8 JavaScript engine. Then the WebKit-using Android
Browser scored 100/100 on the Acid3 test on Android 4.0 ICS; the
Blink-based browser currently has better standards support. The
browser is variably known as 'Android Browser', 'AOSP browser',
'stock browser', 'native browser', and 'default browser'. Starting with
Android 4.4 KitKat, Google has mandated that the default browser for
Android proper be Google Chrome.[citation needed] Since Android 5.0
Lollipop, the WebView browser that apps can use to display web
content without leaving the app has been separated from the rest of
the Android firmware in order to facilitate separate security updates
by Google.
Voice-based features
Google search through voice has been available since initial release.
[5]
Voice actions for calling, texting, navigation, etc. are supported on
Android 2.2 onwards.[6] As of Android 4.1, Google has expanded Voice
Actions with ability to talk back and read answers from Google's
Knowledge Graph when queried with specific commands.[7] The
ability to control hardware has not yet been implemented.
Multi-touch
Android has native support for multi-touch which was initially made
available in handsets such as the HTC Hero. The feature was
originally disabled at the kernel level (possibly to avoid infringing
Apple's patents on touch-screen technology at the time).[8] Google has
since released an update for the Nexus One and the Motorola
Droid which enables multi-touch natively.[9]
Multitasking
Multitasking of applications, with unique handling of memory
allocation, is available.[10]
Screen capture
Android supports capturing a screenshot by pressing the power and
home-screen buttons at the same time.[11] Prior to Android 4.0, the
only methods of capturing a screenshot were through manufacturer
and third-party customizations (apps), or otherwise by using a PC

Page | 5
Android Programming

connection (DDMS developer's tool). These alternative methods are


still available with the latest Android.

TV recording
Android TV supports capturing video and replaying it. [12]
Video calling
Android does not support native video calling, but some handsets
have a customized version of the operating system that supports it,
either via the UMTS network (like the Samsung Galaxy S) or over IP.
Video calling through Google Talk is available in Android 2.3.4
(Gingerbread) and later. Gingerbread allows Nexus S to place
Internet calls with a SIP account. This allows for enhanced VoIP
dialing to other SIP accounts and even phone numbers. Skype 2.1
offers video calling in Android 2.3, including front camera support.
Users with the Google+ Android app can perform video chat with
other Google+ users through Hangouts.
Multiple language support
Android supports multiple languages.[13]
Accessibility
Built-in text-to-speech is provided by TalkBack for people with low
or no vision. Enhancements for people with hearing difficulties are
available, as are other aids.

Connectivity
Connectivity
Android supports connectivity technologies
including GSM/EDGE, Bluetooth, LTE, CDMA, EV-DO, UMTS, NFC, IDE
N and WiMAX.
Bluetooth
Supports voice dialing and sending contacts between phones, playing
music, sending files (OPP), accessing the phone book
(PBAP), A2DP and AVRCP. Keyboard, mouse and joystick (HID)
support is available in Android 3.1+, and in earlier versions through
manufacturer customizations and third-party applications.[14]
Tethering

Page | 6
Android Programming

Android supports tethering, which allows a phone to be used as a


wireless/wired Wi-Fi hotspot. Before Android 2.2 this was supported
by third-party applications or manufacturer customizations. [15]

Media
Streaming media support
RTP/RTSP streaming 3GPP PSS, ISMA), HTML progressive download
(HTML5 <video> tag). Adobe Flash Streaming (RTMP) and HTTP
Dynamic Streaming are supported by the Flash plugin.[16] Apple HTTP
Live Streaming is supported by RealPlayer for Android,[17] and by the
operating system since Android 3.0 (Honeycomb).[18]
Media support
Android supports the following audio/video/still media
formats: WebM, H.263, H.264, AAC, HE-AAC (in 3GP or MP4 containe
r), MPEG-4 SP, AMR, AMR-WB (in 3GP container), MP3, MIDI, Ogg
Vorbis, FLAC, WAV, JPEG, PNG, GIF, BMP, and WebP.[3]
External storage
Most Android devices include microSD card slots and can read
microSD cards formatted with the FAT32, Ext3 or Ext4 file systems.
To allow use of external storage media such as USB flash
drives and USB HDDs, some Android devices are packaged with USB-
OTG cables. Storage formatted with FAT32 is handled by the Linux
Kernel vFAT driver, while 3rd party solutions are required to handle
some other file systems such as NTFS, HFS Plus and exFAT.

Hardware support
Android devices can include still/video
cameras, touchscreens, GPS, accelerometers, gyroscopes, barometers, magn
etometers, dedicated gaming controls, proximity and pressure
sensors, thermometers, accelerated 2D bit blits (with hardware
orientation, scaling, pixel format conversion) and accelerated 3D graphics.

Other
Java support
While most Android applications are written in Java, there is no Java
Virtual Machine in the platform and Java byte code is not executed.
Java classes are compiled into Dalvik executables and run on

Page | 7
Android Programming

using Android Runtime or in Dalvik in older versions, a specialized


virtual machine designed specifically for Android and optimized for
battery-powered mobile devices with limited memory and
CPU. J2ME support can be provided via third-party applications.

Handset layouts
The platform works for various screen sizes from smartphone sizes
and to tablet size, and can potentially connect to an external screen,
e.g. through HDMI, or wirelessly with Miracast. Portrait and
landscape orientations are supported and usually switching between
by turning. A 2D graphics library, 3D graphics library based
on OpenGL ES 2.0 specifications is used.
Storage
SQLite, a lightweight relational database, is used for data storage
purposes.
Native Apps
Android apps are also written in HTML.
Instant Apps
Android apps are hosted on a specific website path and load instead
of the website itself. They are part-apps and load almost instantly
without the need for an installation. One of the first apps being
developed with such functionality is the B&H app.

Categories of Android applications


There are many android applications in the market. The top categories are:

o Entertainment
o Tools
o Communication
o Productivity
o Personalization
o Music and Audio
o Social
o Media and Video
o Travel and Local etc.

Page | 8
Android Programming

Android - Architecture
Android operating system is a stack of software components which is
roughly divided into five sections and four main layers as shown below in
the architecture diagram.

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

1) Linux kernel
At the bottom of the layers is Linux - Linux 3.6 with approximately 115
patches. This provides a level of abstraction between the device hardware
and it contains all the essential hardware drivers like camera, keypad,
display etc.

Page | 9
Android Programming

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.

2) Native Libraries
On the top of Linux kernel, there are Native libraries such as WebKit,
OpenGL, FreeType, SQLite, Media, C runtime library (libc) etc.

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.

Some key core Android libraries available to the Android developer are as
follows −
 android.app − Provides access to the application model and is the
cornerstone of all Android applications.
 android.content − Facilitates content access, publishing and
messaging between applications and application components.
 android.database − Used to access data published by content
providers and includes SQLite database management classes.
 android.opengl − A Java interface to the OpenGL ES 3D graphics
rendering API.
 android.os − Provides applications with access to standard
operating system services including messages, system services and
inter-process communication.
 android.text − Used to render and manipulate text on a device
display.
 android.view − The fundamental building blocks of application user
interfaces.

Page | 10
Android Programming

 android.widget − A rich collection of pre-built user interface


components such as buttons, labels, list views, layout managers,
radio buttons etc.
 android.webkit − A set of classes intended to allow web-browsing
capabilities to be built into applications.

3) Android Runtime

This is the third section of the architecture and provides a key component
called Dalvik Virtual Machine which is a kind of Java Virtual Machine
specially designed and optimized for Android.

The Dalvik VM makes use of Linux core features like memory management
and multi-threading, which is intrinsic in the Java language.
The Android runtime also provides a set of core libraries which enable
Android application developers to write Android applications using
standard Java programming language.

4) Application Framework

The Application Framework layer provides many higher-level services to


applications in the form of Java classes. Application developers are
allowed to make use of these services in their applications.
The Android framework includes the following key services −
 Activity Manager − Controls all aspects of the application lifecycle
and activity stack.
 Content Providers − Allows applications to publish and share data
with other applications.

Page | 11
Android Programming

 Resource Manager − Provides access to non-code embedded


resources such as strings, colour settings and user interface layouts.
 Notifications Manager − Allows applications to display alerts and
notifications to the user.
 View System – An extensible set of views used to create application
user interfaces.

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 kernel.

Android Development Tools for Eclipse

Android Development Tools (ADT) is a plugin for the Eclipse IDE that is
designed to give you a powerful, integrated environment in which to build
Android applications.
ADT extends the capabilities of Eclipse to let you quickly set up new
Android projects, create an application UI, add packages based on the
Android Framework API, debug your applications using the Android SDK
tools, and even export signed (or unsigned) .apk files in order to distribute
your application.
Developing in Eclipse with ADT is highly recommended and is the fastest
way to get started. With the guided project setup it provides, as well as
tools integration, custom XML editors, and debug output pane, ADT gives
you an incredible boost in developing Android applications.
**The Eclipse ADT plugin is no longer supported, as per this announcement in June 2015.
The Eclipse ADT plugin has many known bugs and potential security bugs that will not be fixed.

Page | 12

You might also like