Presentation for Android OS

Post on 07-Jul-2015

339 views 0 download

Tags:

description

Mobile Technology

transcript

Introducing

Operating System

What is ANDROID?

Android is a Software stack for mobile devicesthat includes an operating system, middlewareand key applications.

The Android SDK provides the tools and APIs necessary to begin developing applications on theAndroid paltform using the java programming language.

What is ANDROID?

Developers can create applications for the platform using the android SDK.

Application are written using the java programminglanguage and run on DALVIK, a custom virtualMachine designed for embedded use, which runs on top of a Linux Kernel.

Features• Application framework enabling reuse and replacement of components.

• Dalvik virtual machine optimized for mobile devices.

• Integrated browser based on the open source WebKit Engine.

• Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the Open GL|ES 1.0 specification (hardware accelerationoptional.

• SOLite for structured data storage.

• Media supports for common audio, video and still image formats suchas (MPEG 4, H.264, MP3, AAC, AMR, JPG, PNG, GIF).

• GSM Telephony, Bluetooth, GPRS, EDGE, 3G, Wi-Fi.

Android Architecture

Linux Kernel

Android relies on Linux version 2.6 x for core system services.

The Kernel acts as an abstraction Layer between the hardware andthe rest of the software stack.

Linux manages variety of services such as:Security, Memory management, Process Management,Network stack and Driver model.

Libraries

• Android includes a set of C/C++ libraries used by various components of the android system.

•These capabilities are exposed to developers throughthe android application framework.

• Relies on the Linux Kernel for underlying functionality.

Libraries

• System C library – a BSD- derived implementation of the standard C system library , tuned for embedded Linux based Devices.

• Media Libraries – based on Packet Video’s OpenCore; the librarysupport playback and recording of many popular audio and video formatsas well as static image files, including MPEG4, H.264, MP3,AAC,AMR etc.

• Surface Manager – manages access to the display subsystem and seamlesslycomposites 2D and 3D graphic layers from multiple applications.

• LibWebCore – a modern web Browser engine which powers both the Android browser and an Embeddabale Web View.

Libraries

• SGL – the underlying 2D graphics engine.

• 3D Libraries– an implementation based on OPENGL| ES 1.0 APIs ;the libraries use either hardware 3D acceleration (where available) or the included, highly optimized 3d software rasterizer.

• Free Type – bitmap and vector font rendering.

• SQLite – a powerful and lightweight relational database engine available to all applications.

Resources and Assets

• Resources are the integral part of an Android application.

• In general, these are external elements that you want to includeand reference within your application like images, audio, video, text strings, themes etc.

The Android Manifest File• It names the java package for the application. The package name serves as the Unique identifier for the applications.

• It determines which processes will host application components.

• It determines which permissions the application must have in order to access protected parts of the API and interact with other applications.

• It also declares the permissions that others are required to have in order to interact with the application’s components.

• It lists the Instrumentation classes that provide profiling and other information asthe application is running. These declarations are present in the manifest only whileThe application is being developed and tested; they’re removed before the applicat-ion is published.

• It declares the minimum level of the Android API that the application requires.

• It lists the libraries that the application must be linked against.

Android Runtime

• Android includes a set of core libraries that provide most of the functionalityavailable in the core libraries of the Java Programming Language.

• Every Android application runs in its own process, with its own instance of the Dalvik Virtual Machine.

• Dalvik has been written so that a device can run multiple VMs efficiently.

Android Runtime

Android’s programs are written in java, using Java Oriented IDEs likeEclipse, Net-beans etc.

It just doesn’t compile the java code into java bytecode but instead Dalvik Bytecode(.dex) files.

The Android Manifest XML File

• Every application must have an Android Manifest.xml file in its root directory.

• The manifest fie represents essential information about the application to the Android system, information the system must have before it can run any of the application’s code .

Application Framework

• A rich and Extensible set of views that can be used to build anapplication including lists, grids, textboxes, buttons and even an Embeddable Web Browser.

• Content Providers that enable applications to access data fromother applications (such as Contacts), or to share their own data.

• A Resource Manager, provides access to non-code resourcessuch as localized strings , graphics and layout files.

Application Framework

• A Notification Manager that enables all applications to display custom alerts in status bar.

• An Activity Manager that manages the Life cycle of applications

And provides a common navigation backstack.

• A Package Manager, shows all the applications installed on your device.

• Telephony Manager , for all Calls/SMS/MMS managing.

Application Fundamentals

• Android’s applications are written in Java Programming Language.

• The complied java code – along with any data and resource files required by the applicationis bundled by the aap tool into an Android Package, an archive file is marked by .apk suffix.

• The File is the vehicle for distributing the application and installing it on mobile devices ; itsthe file users download to their devices. All the code in a single .apk file is considered to be one application.

• In many ways, each Android application lives in its own world :

By Default, every application runs in its own Linux Process.

Each process has its own Virtual machine (VM), so application code runs in isolationfrom the code of all other applications.

By Default, each application is assigned a unique Linux user Id Permissions are set so that the application’s files are visible only to that user, only to the application itself.

Applications

Android will ship with a set of core applications including an E-mail client, SMS Program, calendar, maps, browser, contacts, and many more.

All applications are written using the java Programming Language.

Thank You !

Queries