Você está na página 1de 18

Chapter-1:

Introduction
1.1 Introduction to Android

It is a open source software platform and operating system for mobile


devices

Based on the Linux kernel

Developed by Google and later the Open Handset Alliance (OHA)

Allows writing managed code in the Java language

Android has its own virtual machine i.e. DVM(Dalvik Virtual


Machine),which is used for executing the android applicatn.

Google purchased the initial developer of the software , android


incorporated in 2005.

1.2 History Of Android

Android Inc.founded in Palo Alto,california ,united states in October 2003 by Andy


Rubin[co-founder of danger],rich miner[co-founder of wildfire communication
Inc.],nick sears[once VP at T-mobile],and Chris white[headed design and interface
development at web TV] to develop.

1
1.3 Open Handset Alliance (OHA)

The OHA is a group of hardware and software developers, including Google, NTT
DoCoMo, Sprint Nextel, and HTC

Goal

Accelerate innovation in mobile

Offer consumers a richer, less expensive, and better mobile experience

OHA have developed Android, the first complete, open, and free mobile
platform.

2
1.4 Features

1. Application framework

enable reuse and replacement of components

2. Dalvik virtual machine

optimized for mobile devices

3. Integrated browser

based on the open source WebKit engine

4. Optimized graphics

powered by a custom 2D graphics library

3D graphics based on the OpenGL ES 1.0 specification (hardware


acceleration optional)

5. SQLite

For structured data storage

6. Media support for common audio, video, and still image formats

MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF

7. GSM Telephony (hardware dependent)

8. Bluetooth, EDGE, 3G, and WiFi (hardware dependent)

9. Camera, GPS, compass, and accelerometer (hardware dependent)

10. Rich development environment which includes

device emulator

tools for debugging

memory and performance profiling

3
1.5 Android Versions

ANDROID NAME VERSION NUMBER INITIAL RELEASE DATE


Cupcake 1.5 April 27, 2009

Donut 1.6 September 15, 2009

Eclair 2.02.1 October 26, 2009

Froyo 2.22.2.3 May 20, 2010

Gingerbread 2.32.3.7 December 6, 2010

[a] 3.03.2.6 February 22, 2011


Honeycomb

Ice Cream Sandwich 4.04.0.4 October 18, 2011

Jelly Bean 4.14.3.1 July 9, 2012

KitKat 4.44.4.4, 4.4W4.4W.2 October 31, 2013

Lollipop 5.05.1.1 November 12, 2014

Marshmallow 6.06.0.1 October 5, 2015

Chapter 2:

Architecture

2.1 Android Architecture

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

1. Linux kernel

2. Libraries

3. Android Runtime

4. Application Framework

5. Aplications

2.1.1 Linux Kernel

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

The kernel also acts as an abstraction layer between the hardware and the rest of the
software stack.

2.1.2 Libraries

6
On the top of Linux kernel, their are 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.

Includes a set of C/C++ libraries.

2D and 3D graphics.

2.1.3 Android Runtime

7
In android runtime, there are core libraries and DVM (Dalvik Virtual Machine) which is
responsible to run android application.

1. Dalvik VM (translator between the application side and the operating system)

Dex files (.dex)format

Compact and efficient than class files

Limited memory and battery power

2. Core Libraries

Java 5 Std edition

Collections, I/O etc

2.1.4 Application Framework

8
On the top of Native libraries and android runtime, there is android framework.
Android framework includes Android API'ssuch 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.

Activity Manager Controls all aspects of the application lifecycle and activity
stack.

Content Providers Allows applications to publish and share data with other
applications.

Resource Manager Provides access to non-code embedded resources such as


strings, color 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.

9
2.1.5 Applications

Android will ship with a set of core applications including an

a)Email client,

b)SMS program,

c)Calendar,

d)Contacts & others.

All the applications are written using the Java programming language.

10
Android applications are compiled to Dalvik byte code

Write app in Java

Compiled in Java

Transformed to Dalvik byte


code

Loaded into

Linux OS

Chapter-3:

11
Contents

3.1 Android SDK

1. ADT: Android Development Tool, an Eclipse plugin


2. Two debuggers
adb : : Android Debug Bridge
ddms : :Dalvik Debug Monitor Server
3. aapk : : Android Application package tool
All resources are bundled into an archive, called apk file.
4. Dx: : java byte code to Dalvik executable translator

3.2 Differences between Smart Phones

12
Feature Android Windows BlackBerry
mobile
company Google Microsoft RIM

OS family Linux Windows Mobile OS

Languages Java Visual C++ C++

SDK Platform Multiplatform dependent dependent

Face book Yes Yes Yes

Multitasking Yes limited limited

3.3 Anatomy of an Android Application

An android component is simply a piece of code that has a well defined life cycle

Application Building Blocks

Activity

13
View

Intent Receiver

Service

Content Provider

Fragment

AndroidManifest.xml

Android Virtual Device

3.3.1 Activity

UI typically corresponding to one screen

Move through screens by starting other activities

Example

Email application has 3 major activity

List your mail

Chosen individual mail message

Compose screen

3.3.2 Intent Receiver

Intent is used to invoke components. It is mainly used to:

Start the service

14
Launch an activity

Display a web page

Display a list of contacts

Broadcast a message

Dial a phone call etc.

3.3.3 Service

Service is a background process that can run for a long time.There are two types of
services local and remote. Local service is accessed from within the application whereas
remote service is accessed remotely from other applications running on the same device.

3.3.4 Content Provider

Content Provider

Enables applications to share data

Example

Any application can access the contacts database

3.4 ADVANTAGES

15
The ability for anyone to customize the Google Android platform

It gives you better notification.

It lets you choose your hardware.

It has better app market(1,80,000 application)

A more mature platform

With the support of many applications, the user can change the screen display.

With Google chrome you can open many window at once.

Supports all Google services: Android operating system supports all of Google
services ranging from Gmail to Google reader. all Google services can you have
with one operating system, namely Android.

3.5 DISADVANTAGES

Android Market is less control of the manager, sometimes there are malware.

Wasteful Batteries, This is because the OS is a lot of "process" in the background


causing the battery quickly drains.

Sometimes slow device company issued an official version of Android your own .

Extremely inconsistence in design among apps

Very unstable and often hang or crash.

CONCLUSION

16
I've learned through my research that Android is a much more diverse operating
system than iOS and Windows Phone Mobile.
Android has grown rapidly over the past 4 years becoming the most used
smartphone operating system in the world.It's because Android doesn't release 1
phone from 1 company with 1 new OS every year, but countless phones from
numerous companies, adding their own twist, throughout the year, developing
gradually day-by-day.
Android's ability to customize is unparalleled compared to Apple's and Microsoft's
software allowing the user to change and customize nearly every aspect of Android
which most iPhone and Windows 7 users wouldn't dream possible.I am not one to
say that Android is better or worse than one OS, but is unique and incomparable to
other mobile operating systems.

REFERENCES

1. http://developer.android.com/guide/index.html.

17
2. http://android-developers.blogspot.com/

3. http://groups.google.com/group/android-developers?lnk=

4. http://forum.xda-developers.com/

5. http://blogs.computerworld.com/raphael

6. http://thedroidguy.com/

7. http://phandroid.com/

8. http://www.androidguys.com/

9. http://www.computerworld.com/s/article/9178688/Android_news_reviews_more

18

Você também pode gostar