ANDROID ARCHITECTURE

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
  1. Launch an activity
  2. Display a web page
  3. Display a list of contacts
  4. Broadcast a message
  5. 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.