ANDROID ARCHITECTURE
·
Android software stack or android architecture
includes linux kernal, native libraries (middleware), Android Runtime,
Application Framework and Applications.
·
Linux Kernal is responsible for device drivers, power management,
resource access etc. OS tasks.
·
On the top of linux kernal, 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.
·
The main Android
API's are UI (User
Interface), telephony, resources, locations, Content Providers (data) and
package managers.
Android Core Building Blocks
·
The core
building blocks or fundamental components of android are activities, views,
intents, services, content providers, fragments and AndroidManifest.xml.
Activity
·
An activity is a class that represents a single
screen.
·
It is like a Frame in AWT.
View
·
A view is the UI element such as button, label, text
field etc.
·
Anything that you see is a view.
Intent
·
Intent is used to invoke components. It is mainly used
to:
1. Start
the service
- Launch an activity
- Display a web page
- Display a list of contacts
- Broadcast a message
- Dial a phone call etc.
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.
Content Provider
·
Content Providers are used to share data between the
applications.
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 is like the web.xml file in Java EE.
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.
Android Emulator
·
Android Emulator is used to run, debug and test the
android application.
·
If you don't have the real device, it can be the best
way to run, debug and test the application.
·
It uses an open source processor emulator technology called QEMU.
·
The emulator tool enables you to start the emulator
from the command line.
·
You need to write:
emulator -avd
·
In case of Eclipse IDE, you can create AVD by Window menu > AVD Manager >
New.
·
In the given image, you can see the android emulator.
·
It displays the output of the hello android example.