Skip to main content

Architecture of Android

To understand how Android works,take a look , which show the various layers that make up the Android operating system(OS).

The Android OS is a roughly divided into five sections in four main layers:

  • Linux kernel :- This is the kernel on which Android is based. This layer contains all the low-level device drivers for the various hardware components of an Android device.
  • Libraries :- These contain the code that provides the main features of an Android OS.For example , the SQLLite library provides database support so that an application can use it for data storage.The WebKit library provides functionalities for web browsing.
  • Android runtime :- The Android runtime is located in the same layer with the libraries and provides a set of code libraries that enable developers to write Android apps using the Java programming language.The Android runtime also includes the Dalvik virtual machine , which enables every Android application to run in its own process, with its own instance of the Dalvik Virtual machine.(Android applications are compiled into Dalvik executables).Dalvik is a specialized virtual machine designed specifically for Android and optimized for battery-powered moblie devices with limited memory and CPU power.
  • Application framework :- The application framework exposes the various capabilities of the Android OS to application developers so that they can make use of them in their applications.
  • Applications :- At this top layer are the application that ship with the Android device (such as Phone,Contacts , Browser and so on),as well as application that you download and install from the Android Market. Any application that you write and located at this layer.

Comments

Popular posts from this blog

Creating Android Virtual Devices (AVDs)

The next step is to create an Android Virtual Device (AVD) you can use for testing your Android application. An AVD is an emulator instance that enables you to model an actual device. Each AVD consists of a hardware profile ; a mapping to a system image ; and emulated storage,such as a secure digital (SD) card.One important thing to remember about emulators is that they are not perfect. There are some applications , such as games (which are GPU heavy ) or application that use sensors such as the GPS or accelerometer. Theses types of application cannot be simulated with the same speed or consistency within an emulator as they can when running on an actual device. However , the emulator is good for doing some generalized testing of your applications. You can create as many AVDs as you want to test your applications with different configurations. This testing is important to confirm the behavior of you application when it is run on different devices with varying capabilities. Use ...

Hiding the Activity Title

You can also hide the title of an activity if desired ( Such as when you just want to display a status update to the user). To do so , use the requestWindowFeature() method and pass it the window .FEATURE_NO_TITLE constant, like This : import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.Window; public class MainActivity extends AppCompatActivity{            @Override            protected void onCreate ( Bundle savedInstanceState )            {                         super.onCreate (savedInstanceState );                         setContentView (R.layout.activit...

Applying Styles and Themes to an Activity

By default , an activity is themed to the default Android theme. However , there been a push in recent year to adopt a new theme known as Material . The Material theme has a much more modern and clean look to it. There are two versions of the Material theme available to Android developers : Material Light and Material Dark , Either of these themes can be applied from the AndroidManifest.xml To apply one of the Material themes to an activity , simply modify the <Application> element in the AndroidManifest.xml file by changing the default android:theme attribute. (Please be sure to change all instances of "com.android" to whatever package name your project is using.) <?xml version="1.0" encoding="utf-8"?> <manifest xmls:android="http://schemas.android.com/apk/res/android"        xmlns:tools="http://schemas.android.com/tools"        package="com.android.activity101">        <application ...