0% found this document useful (0 votes)
29 views28 pages

Android Architecture

Uploaded by

mzahidrasool50
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views28 pages

Android Architecture

Uploaded by

mzahidrasool50
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 28

Android

Programming
Architecture of Android
Architecture of Android
• The android architecture is the combination of four layers.
However, one layer is partitioned into two sections so, it
consists of five sections in all.
1. Linux kernel

2. Llibraries (middleware),

3. Android Runtime

4. Application Framework

5. Applications
Architecture of Android
Linux kernel
• It is the heart of android architecture that exists at the root of
android architecture.
• This provides a level of abstraction between the device
hardware and it contains all the essential hardware drivers like
camera, keypad, display etc.
• Also, the kernel handles all the things that Linux is really good
at such as networking and a vast array of device drivers, which
take the pain out of interfacing to peripheral hardware.
Libraries
• On the top of linux kernel, their are Native libraries such as
WebKit, OpenGL, FreeType, SQLite, Media, SSL, C runtime
library 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
 SSL responsible for Internet security etc.
Android Libraries
• This category encompasses those Java-based libraries that are
specific to Android development.
• Examples of libraries in this category include the application
framework libraries in addition to those that facilitate user
interface building, graphics drawing and database access.
• A summary of some key core Android libraries available to the
Android developer is as follows −
Some Key Core Android Libraries
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.
Some Key Core Android Libraries
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.text :−
Used to render and manipulate text on a device display.
Some Key Core Android Libraries

android.os :−
Provides applications with access to standard operating system
services including messages, system services and inter-process
communication.

android.view :−
The fundamental building blocks of application user interfaces.
Some Key Core Android Libraries
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.
Android Runtime
• In android runtime, there are core libraries and DVM (Dalvik
Virtual Machine) which is responsible to run android
application.
• DVM is like JVM but it is optimized for mobile devices.
• It consumes less memory and provides fast performance.
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.
Android 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.
Android Framework
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.
Applications
• You will find all the Android application at the top layer.
• You will write your application to be installed on this layer
only. (Examples of such applications are Contacts Books,
Browser, Games etc.)
• All applications are using android framework that uses android
runtime and libraries.
• Android runtime and native libraries are using linux kernel.
Android - Application Components
• Application components are the essential building blocks of an
Android application.
• These components are loosely coupled by the application
manifest file AndroidManifest.xml that describes each
component of the application and how they interact.
• There are following four main components that can be used
within an Android application:
Android Core
Building
Blocks
Activity
• An activity represents a single screen with a user interface, in-
short Activity performs actions on the screen.
• 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.
Activity
• An activity is implemented as a subclass of Activity class as
follows:
public class MainActivity extends Activity {
}
Service
• 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.
Services
• A service is implemented as a subclass of Service class as
follows:
public class MyService extends Service {
}
Broadcast Receivers
• 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.
Broadcast Receivers
• A broadcast receiver is implemented as a subclass
of BroadcastReceiver class and each message is broadcaster
as an Intent object.
public class MyReceiver extends BroadcastReceiver {
public void onReceive(context,intent) {}
}
Content Providers
• 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.
Content Providers
• 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 {
public void onCreate( ) {}
}
Additional Components
• Intent
An Android Intent is an abstract description of an operation to be
performed. It is mainly used to:
 Start the service
 Launch an activity
 Display a web page
 Display a list of contacts
 Broadcast a message
 Dial a phone call etc.
Additional Components
• Fragment
Fragments are like parts of activity. An activity can display one or more
fragments on the screen at the same time.

• AndroidManifest.xml
It contains information about activities, content providers, permissions etc.
It Configuration file for the application.

• Views
UI elements that are drawn on-screen including buttons, lists forms etc.
Additional Components
• Layouts
View hierarchies that control screen format and appearance of the views.
• Resources
External elements, such as strings, constants and drawable pictures.

• Android Virtual Device (AVD)


It is used to test the android application without the need for mobile or
tablet etc. It can be created in different configurations to emulate different
types of real devices.

You might also like