Android platform

27
ANDROID

Transcript of Android platform

ANDROID

Who Is Android??

What Does Android Means??

How Many Of You Use Android??

Android▪ Open Source OS built by Google for mobile phones, tablets.▪ Was initially developed by android Inc. and google purchased the company in 2004▪ Google releases the source code under the apache license in the AOSP(Android

Open Source Project)▪ Officially, one can develop android application using c/c++ and JAVA.

2005 Google buys android Inc.2007 Open handset alliance announced

2008-2010 Android becomes dominant platform

2011 Tablet, game, consoles, TV's.

FOUNDER’S OF ANDROID

FIRST ANDROID POWERED DEVICES

HTC G1

ANDROID PLATFORM/ECOSYSTEMThe very obvious stakeholders are the consumers that own Android devices!

But there are others as well: Google, because it develops Android. OEMs (Original Equipment Manufacturers), who

manufacture the hardware, and also the custom application components.

Application Development Companies: They are the biggest contributors to the ecosystem. They employ Android developers, and also outsource the product development to services companies.

Freelance Android developers, because they have the skill-set to contribute to the ecosystem. They create their apps, and publish them on Google playstore. Freelancers can also make money by developing applications for product companies.

Android version’s

Mobile Operators

Handset Manufacturers

Semiconductor Companies

Software Companies

Commercializing Companies

OPEN HANDSET ALLIANCE

ADVANTAGES OF OHA

Lower overall handset costs: Developer-friendly environment: Post-development

84 technology and mobile companies who have come together to accelerate

innovation in mobile.

UNDERSTANDING ANDROID MARKET

Android VS

Mobile Operators

Android VS

Feature Phones

Android VS

Smart Phones

Android VS

Itself

Network providers

Nokia

Ios Version’s

SOO!!!DONE FOR TODAY

ANY QUESTIONS???

ANDROID STACK/LAYER’S

It provides the following functions in the Android system:

Hardware Abstraction Memory Management Programs Security Settings Power Management Software Other Hardware Drivers Support for Shared Libraries Network Stack

At the bottom of the Android stack is the Linux Kernel. It never really interacts with the users and developers, but is at the heart of the whole system.

Table Highlighting The Different Kernel Versions.

Libraries carry a set of instructions to guide the device in handling different types of data. For instance, the playback and recording of various audio and video formats is guided by the

Media Framework Library.Open Source Libraries Surface Manager: composing windows on the screen SGL: 2D Graphics Open GL|ES: 3D Library Media Framework: Supports playbacks and recording of various audio, video and picture formats. Free Type: Font Rendering WebKit: Browser Engine libc (System C libraries) SQLite Open SSL

Dalvik is open-source software. Dan Bornstein, originally wrote Dalvik VM. It is the software responsible for running apps on Android devices.

It is a Register based Virtual Machine. It is optimized for low memory requirements. It has been designed to allow multiple VM instances to run at once. Relies on the underlying OS for process isolation, memory

management and threading support. Operates on DEX files.

Our applications directly interact with these blocks of the Android architecture. These programs manage the basic functions of phone like resource management, voice call

management etc.

Important blocks of Application Framework:

Activity Manager: Manages the activity life cycle of applications. Content Providers: Manage the data sharing between applications. Telephony Manager: Manages all voice calls. We use telephony manager if we want to access voice calls in our

application. Location Manager: Location management, using GPS or cell tower Resource Manager: Manage the various types of resources we use in our Application

The applications are at the topmost layer of the Android stack. An average user of the Android device would mostly interact with this layer (for basic functions, such as making phone calls, accessing the Web browser etc.). The layers further down are accessed mostly by developers,

programmers and the likes.

Several standard applications come installed with every device, such as:

SMS client app Dialer Web browser Contact manager

WHAT IS ANDROID RUN-TIME?

Dalvik Virtual Machine DVM is optimized for low processing power and low

memory environments. Unlike JVM, the Dalvik Virtual Machine doesn’t run .class files, instead it runs .dex files.

Java source code is first converted into Java byte code and then into Dalvik byte code using dex compiler.

Dalvik Virtual

MachineCore

Java LibAndroid Runtime

Any questions??

COMPONENT’S OF ANDROID

ANDROID COMPONENT’S

1.ACTIVITY 2. SERVICE

3. BROADCAST RECEIVER

4. CONTENT PROVIDER

ACTIVITY Activity provides the user a screen/interface to interact with the application. An application typically has multiple activities. All activities of an application are loosely interconnected Activities can have full screen or floating windows. Main Activity: Generally, one activity of an application is the main activity.

STAGES IN ACTIVITY LIFE-CYCLE1) Starting State:When an activity does not yet exist in memory, it is in the starting state.

2) Resumed/Running State:An activity that is in the foreground is in the running state.

3) Paused State:When an activity is not in focus (i.e. not interacting with the user), but is still visible on the screen, it is in the paused state.

4) Stopped State:An activity that is not visible on the screen, but exists in the memory is in the stopped state.

5) Destroyed State:A destroyed activity results from the removal of an activity (that is no longer required) from the memory.

SERVICE1) Faceless components: The components of Android system that run in the background are Service components. They are very much like activities, only without a User Interface.

2) Taking care of long running background tasks: They carry out long-running tasks desired by the application (without user intervention). Services run the background tasks that do not require a User Interface.

3) Unaffected by activity switching: Each Service has a specific job, and they keep at it if you switch between different Activities, or even if you switch to a different application altogether.

4) It can also provide functionality to other applications.

5) Example of Service: A good example is your music player.

BROADCAST RECIEVER

Pass a notification to the user, in case a specific event occurs.

CONTENT PROVIDERContent Provider facilitates access to a central data store or warehouse to allow data sharing and data manipulation across different applications.

Default content providers in android

INTENT IN ANDROID

A message to communicate an action. It is a description of what you want done, example: VIEW VIDEO, PLAY GAME etc.

Communicators between the three core components of Android, i.e. Activities, Services and Broadcast Receivers.

Using intents, one Android component can request action from the other components of Android.

Explicit Intent Implicit Intent