andrd

download andrd

of 9

Transcript of andrd

  • 8/2/2019 andrd

    1/9

    ABSTRACT

    Android is a software stack for mobile devices

    that includes an operating system, middleware and key applications. It can be considered as a software platform as well as an operating

    system for mobile devices based on the Linux operating system and developed by Google and the Open Handset Alliance. It allows

    developers to write managed code in a Java-like language that utilizes Google-developed Java libraries.

    The android architecture consists of key applications, application framework, core libraries, android runtime and a Linux kernel. The

    main features of android applications are which have an integrated browser, SQLite for data storage, support for common audio, video

    formats and it has GSM, EDGE, 3G and Wi-Fi connectivity etc

    An android application consists of four important parts. They are Activity, Intent receiver, services and content provider. There are

    some application development tools like Eclipse for the android phones. Google also develop emulator of android phone. Which help the

    application developers to run the application without an android phone. Many versions of android operating system are available like

    Gingerbread, Honeycomb, Froyo etc. the latest one is Ice Cream Sandwich ie, Android4.0 . The development of android made a boom

    in the mobile technology field.

    OVERVIEW

    1. NTRODUCTION TO ANDROID1. 1 pen HANDSET ALLIANCE

    2.FEATURES2.1 alvik virtual machine

    2.2 ntegrated browser2.3 SQLIT2.4 CONNECTIVITY2.5 MESSAGES2.6 EDIA SUPPORT2.7 DDITIONAL HARDWARE SUPPORT2.8 NDROID MARKET2.7 MULTITASKING

  • 8/2/2019 andrd

    2/9

    3. NDROID ARCHITECTURE3. 1 EY APPLIACATIONS3. 2 PPLICATION FRAMEWORK3.2.1 ACTIVITY MANAGER

    3.2.2 CONTENT PROVIDER

    3.2.3. RESOURCE MANAGER

    3.2.4 LOCATION MANAGER

    3.2.5 NOTIFICATION MANAGER

    3.2.6 VIEW SYSTEM

    3.2.7 TELEPHONY MANAGER

    3.2.8 WINDOW MANAGER

    3. 3 LIBRARIES3.3.1 SURFACE MANAGER

    3.3.2 MEDIA FEAMEWORK

    3.3.3 SQLITE

    3.3.4 |open gl es

    3.3.5 FREE TYPE

    3.3.6 3webkit D LIBRARIES

    3.3.7 SGL

    3.3.8 ssl

    3.3.9 libc

    3. 4 NDROID RUNTIME

    3.4.1 DALVIK VIRTUAL MACHINE

    3. 5 INUX KERNAL3.5.1 BINDER DRIVER

    3.5.2 POWER MANAGEMENT

    4. APPLICATION ANATOMY

    4. 1 activity

  • 8/2/2019 andrd

    3/9

    4. 2 ntent receiver4. 3 service4. 4 ontent provider

    5. DEVELOPMENT TOOLS

    6. ANDROID VERSIONS

    7. CONCLUSION

    8. REFERENCES

    1. INTRODUCTION TO ANDROIDThe term Android has its origin in the Greek word andr-, meaning

    man or male and the suffix - eides, used to mean alike or of the s

    pecies. This together means as much as being human.

    Android is a software stack for mobile devices that includes an operating system, middleware and key

    applications. Android is a software platform and operating system for mobile devices based on the Linux operating

    system and developed by Google and the Open Handset Alliance (O H A).

    Google Inc. purchased the initial developer of the software, Android Inc., in August, 2005, making Android Inc. a

    wholly-owned subsidiary of Google Inc. Android operating system is based upon a modified version of the Linux

    kernel, which is the most prominent examples of free and open source software. Google and other members of

    the Open Handset Alliance collaborated on Android's development and release. The Android Open Source Project

    (AOSP) is tasked with the maintenance and further development of Android.

    The second section this seminar holds the features of android phones. It contains connectivity, marketing, browsing

    etc.

    The third section consists of architecture of the android operating system. The main components of architecture are

    Linux kernel, dalvik virtual machine, libraries, application framework, key applications etc

    The fourth section describes the anatomy of an android application. The main topics in this section are activity,

    intent receiver, service and content provider.

    The tools used for development of android application are included

    1.1 Open Handset Alliance (O H A)

    On the November 5, 2007 the Open Handset Alliance, a consortium of several companies which include Broadcom

    Corporation, Google, HTC, Intel,LG, Marvell Technology Group, Motorola,Nvidia, Qualcomm,Samsung Electronics, Sprint

    Nextel, T-Mobile and Texas Instrumentsunveiled itself. The goal of the Open Handset Alliance is to develop open standards for

    mobile devices. On the same day, the Open Handset Alliance also unveiled their first product, Android, a mobile

    device platformbuilt on the Linux kernel version 2.6.

    2. FEATURES

    2.1 Dalvik Virtual Machine

    It is extremely low-memory based virtual machine, which was designed especially for Android to run on embedded systems and

    work well in low power situations. It is also tuned to the CPU attributes. The Dalvik VM creates a special file format (.DEX) that is

    created through build time post processing. Conversion between Java classes and .DEX format is done by included dx tool.

    2.2 INTEGRATED Browser

    http://en.wikipedia.org/wiki/Open_Handset_Alliancehttp://en.wikipedia.org/wiki/Consortiumhttp://en.wikipedia.org/wiki/Broadcom_Corporationhttp://en.wikipedia.org/wiki/Broadcom_Corporationhttp://en.wikipedia.org/wiki/Googlehttp://en.wikipedia.org/wiki/High_Tech_Computer_Corporationhttp://en.wikipedia.org/wiki/Intel_Corporationhttp://en.wikipedia.org/wiki/LG_Grouphttp://en.wikipedia.org/wiki/Marvell_Technology_Grouphttp://en.wikipedia.org/wiki/Motorolahttp://en.wikipedia.org/wiki/Nvidiahttp://en.wikipedia.org/wiki/Qualcommhttp://en.wikipedia.org/wiki/Samsung_Electronicshttp://en.wikipedia.org/wiki/Sprint_Nextelhttp://en.wikipedia.org/wiki/Sprint_Nextelhttp://en.wikipedia.org/wiki/T-Mobilehttp://en.wikipedia.org/wiki/Texas_Instrumentshttp://en.wikipedia.org/wiki/Open_standardhttp://en.wikipedia.org/wiki/Platform_(computing)http://en.wikipedia.org/wiki/Linux_kernelhttp://en.wikipedia.org/wiki/Consortiumhttp://en.wikipedia.org/wiki/Broadcom_Corporationhttp://en.wikipedia.org/wiki/Broadcom_Corporationhttp://en.wikipedia.org/wiki/Googlehttp://en.wikipedia.org/wiki/High_Tech_Computer_Corporationhttp://en.wikipedia.org/wiki/Intel_Corporationhttp://en.wikipedia.org/wiki/LG_Grouphttp://en.wikipedia.org/wiki/Marvell_Technology_Grouphttp://en.wikipedia.org/wiki/Motorolahttp://en.wikipedia.org/wiki/Nvidiahttp://en.wikipedia.org/wiki/Qualcommhttp://en.wikipedia.org/wiki/Samsung_Electronicshttp://en.wikipedia.org/wiki/Sprint_Nextelhttp://en.wikipedia.org/wiki/Sprint_Nextelhttp://en.wikipedia.org/wiki/T-Mobilehttp://en.wikipedia.org/wiki/Texas_Instrumentshttp://en.wikipedia.org/wiki/Open_standardhttp://en.wikipedia.org/wiki/Platform_(computing)http://en.wikipedia.org/wiki/Linux_kernelhttp://en.wikipedia.org/wiki/Open_Handset_Alliance
  • 8/2/2019 andrd

    4/9

    Google made a right choice on choosing WebKit as open source web browser. They added a two pass layout and frame flattening.

    Two pass layout loads a page without waiting for blocking elements, such as external CSS or external JavaScript and after a while

    renders again with all resources downloaded to the device. Frame flattening converts founded frames into single one and loads into

    the browser. These features increase speed and usability browsing the internet via mobile phone.

    2.3 SQLit

    SQLite is used for structured data storage. Extremely small (~500kb) relational database management system, which is integrated

    in Android. It is based on function calls and single file, where all definitions, tables and data are stored. This simple design is more

    than suitable for a platform such as Android.

    2.4 Connectivity

    Android supports a wide variety of connectivity technologies including GSM, CDMA, Bluetooth, EDGE, EVDO, 3G and Wi-Fi.

    2.5 Messaging

    SMS, MMS, and XMPP are available forms of messaging including threaded text messaging.

    2.6 Media Support

    Android will support advanced audio/video/still media formats such as MPEG-4, H.264, MP3, and AAC, AMR, JPEG, PNG, GIF.

    2.7 ADDITIONALHardware Support

    Android is fully capable of utilizing video/still cameras, touchscreens, GPS, compasses, accelerometers, and accelerated 3D graphics.

    2.8 MARKET

    TheAndroid Marketis a catalog of applications that can be downloaded and installed to Android devices over-the-air, without the use

    of a PC.

    2.9 MULTITASKING

    Multitasking of applications is available.

    3. NDROID ARCHITECTURE

    [ ]Architecture of android operating system reference

    http://en.wikipedia.org/wiki/Android_Markethttp://en.wikipedia.org/wiki/Android_Markethttp://en.wikipedia.org/wiki/Android_Markethttp://en.wikipedia.org/wiki/Android_Market
  • 8/2/2019 andrd

    5/9

    3.1 Applications

    Android will ship with a set of core applications including an email client, SMS program, calendar, maps, browser, contacts, and others.

    All applications are written using the Java programminglanguage.

    3.2 Application Framework

    Sitting above the native libraries and runtime, youll find the Application Framework layer. This layer provides the high-level building

    blocks you will use to create your applications. The framework comes preinstalled with Android, but you can also extend it with your

    own components as needed.

    The most important parts of the framework are as follows:

    3.2.1Activity Manager: This controls the life cycle of applications and maintains a common backstack for user navigation.

    3.2.2 Content providers: These objects encapsulate data that needs to be shared between applications, such as contacts.

    3.2.3Resource manager: Resources are anything that goes with your program that is not code.

    3.2.4 Locationmanager: An Android phone always knows where it is.

    3.2.5 Notification manager: Events such as arriving messages, appointments, proximity alerts, alien invasions, and more can be

    presented in an unobtrusive fashion to the user.

    3.2.6 VIEW SYSTEM: Enabling applications to access data from other applications

    or to share their own data

    3.2.7 TELEPHONY MANAGER : Provides core telephoning functionalities

    3.2.8 WINDOW MANAGER: The window manager creates display surfaces for the

    application. It is Responsible for organizing the screen and display of different

    layers of application

    3.3 LIBRARIESThe next layer above the kernel contains the Android native libraries. These shared libraries are all written in C or C++, compiled for the

    particular hardware architecture used by the phone, and preinstalled by the phone vendor.

    Some of the most important native libraries include the following:

    1. SURFACE MANAGER: Manages access to the display subsystem and seamlessly composites 2D and #d

    graphic layers from multiple applications.

    2. MEDIA LIBRARIES : The libraries support playback and recording of many popular audio and video

    formats as well as static image files, including MPEG4,H.264,MP3,AAC,AMR,JPG and PNG.

    3. SQLite : A powerful and lightweight relational database engine available to all applications

    4. OPEN GL|ES : Subset of the OpenGL 3D graphics API designed for embedded devices. It can use for

    hardware 3D acceleration.

    5. FREE TYPE : Bitmap and vector font rendering. It is used to rasterize the characters into bitmaps and

    provides into other font-related operations.

    6. WebKit : A framework providing the basis for building a web browser based on the open source WebKit

    browser.

    7. SGL : SGL is the underlying 2D graphics engine.

    8. SSL : The Secure Socket Layer is a commonly-used protocol for managing the security of a message

    transmission on the intrnet.

    9. LibC : A BSD based implementation of the standard C library. Which is tuned for embedded Linux-based

    devices.

    3.4 Android Runtime

    http://msvishnumkl.blogspot.in/2011/08/android-seminar-report.htmlhttp://msvishnumkl.blogspot.in/2011/08/android-seminar-report.htmlhttp://msvishnumkl.blogspot.in/2011/08/android-seminar-report.html
  • 8/2/2019 andrd

    6/9

    Android includes a set of core libraries that provides most of the functionality available 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. The Dalvik VM executes files in the Dalvik Executable (.dex) format which is optimized for

    minimal memory footprint. The VM is register-based, and runs classes compiled by a Java languagecompiler that have been

    transformed into the .dex format by the included "dx" tool.

    The Dalvik VM relies on the Linux kernel for underlying functionality such as threading and low-level memory management.

    3.4.1 Dalvik Virtual Machine

    The Dalvik virtual machine is simple Java interpreter machine, completely optimized for Android

    platform and which is developed to run on low-end memory mobile devices. One of the prominent aspects in Dalvik its capability to run

    along an application compilation enhancing the runtime performance of the applications. Dalvik is not exactly, a Java machine, because

    Dalvik could not read Java code, but consists its ownbyte code called dex and so the executable files compacted using Dalvik holds

    the file type name '.dex'. Google states that the credit for Androids successful development goes to Dalvik VM, because this type of

    virtual machine, delivers a good performance over various stages of an application runtime environment, conserving more battery-

    power during long run of an application.

    A small drawback with Dalvik, is its none-compatibility with Java SE libraries, Java ME class libraries and Swing Java libraries, while

    they cannot be and need not to-be run directly on this virtual machine. It uses its own Apache

    Harmony Java implementationlibraries. Despite of the earlier reason, its escalated Android's value proposition due to its minimal-

    electrical power consumption, vast library resources, and non-fragmentary application programming interface, unlike its Java rivals.

    Java related brands and trademarks are owned by Sun Micro Systems Inc., which is soon to be acquired by Oracle Corporation. Another

    significant fact that assures the open source status of Android, is that Sun Corp, cannot claim on the usage of Java-like programming

    language, since Android uses a Java Virtual execution environment developed by Google. S

    The core Java libraries that come with Android are different from both the Java StandardEdition (Java SE) libraries and the Java

    Mobile Edition (Java ME) libraries. There is a substantial amount of overlap, however.

    http://msvishnumkl.blogspot.in/2011/08/android-seminar-report.htmlhttp://msvishnumkl.blogspot.in/2011/08/android-seminar-report.htmlhttp://msvishnumkl.blogspot.in/2011/08/android-seminar-report.htmlhttp://msvishnumkl.blogspot.in/2011/08/android-seminar-report.htmlhttp://msvishnumkl.blogspot.in/2011/08/android-seminar-report.htmlhttp://msvishnumkl.blogspot.in/2011/08/android-seminar-report.htmlhttp://msvishnumkl.blogspot.in/2011/08/android-seminar-report.htmlhttp://msvishnumkl.blogspot.in/2011/08/android-seminar-report.htmlhttp://msvishnumkl.blogspot.in/2011/08/android-seminar-report.htmlhttp://msvishnumkl.blogspot.in/2011/08/android-seminar-report.htmlhttp://msvishnumkl.blogspot.in/2011/08/android-seminar-report.htmlhttp://msvishnumkl.blogspot.in/2011/08/android-seminar-report.htmlhttp://msvishnumkl.blogspot.in/2011/08/android-seminar-report.htmlhttp://msvishnumkl.blogspot.in/2011/08/android-seminar-report.htmlhttp://msvishnumkl.blogspot.in/2011/08/android-seminar-report.htmlhttp://msvishnumkl.blogspot.in/2011/08/android-seminar-report.htmlhttp://msvishnumkl.blogspot.in/2011/08/android-seminar-report.htmlhttp://msvishnumkl.blogspot.in/2011/08/android-seminar-report.html
  • 8/2/2019 andrd

    7/9

    3.5 Linux Kernel

    Android relies on Linux version 2.6 for core system services such as security, memory management, process management, network

    stack, and driver model. The kernel also acts as an abstraction layer between the hardware and the rest of the software stack.

    3.5.1 Power ManagementBased on the standard Linux Power Management,, Android has its own component. A light-weight power management diver built top of

    it. CPU shouldnt consume power if no applications or services require power.

    3.5.2 BINDER (IPC) DRIVERDriver to facilitate inter-process communication between applications and services. The binder driver provides high performance through

    shared memory, synchronous calls between processes.

    4. Anatomy of an Android Application

    There are four building blocks for an Android application :

    4.1 Activity :

    User interface component, which corresponds to one screen at time. It means that for the simple application like Address Book,

    the developer should have one activity for displaying contacts, another activity component for displaying more detailed

    information of chosen name and etc.

    4.2 Intent Receiver :

    Wakes up a predefined action through the external event . For example for the application like Email Inbox , the developer should

    have intent receiver and register his code through XML to wake up an alarm notification, when the user receives email.

    3. Service :

    A task , which is done in the background. It means that the user can start an application from the activity window and keep the

    service work, while browsing other applications. For instance, he can browse Google Maps application while holding a call or

    listening music while browsing other applications.

    3. Content Provider :

    A component , which allows sharing some of the data with other processes and applications. It is the best way to communicate

    the applications between each other .Android will ship with a set of core applications including an email client, SMS program,

    calendar, maps, browser, contacts, and others. All applications are written using the Java programming language.

    DEVELOPMENT TOOLS

  • 8/2/2019 andrd

    8/9

    The Android SDK includes a variety of custom tools that help you develop mobile applications on the Android platform. Three of the

    most significant tools are:

    Android Emulator - Avirtual mobile device that runs on our

    Computer -use to design, debug, and test our applications in an

    Actual Android run-time environment

    Android Development Tools Plugin-for the Eclipse IDE adds powerful extensions to the Eclipse integrated

    environment

    Dalvik Debug Monitor Service(DDMS) -Integrated with Dalvik

    -this tool let us manage processes on an emulator and assists in debugging

    Version history

    1.0Released 23 September 2008

    1.1

    1.5 (Cupcake)

    1.6 (Donut)

    2.0 / 2.1 ( clair )

    2.2 ( Froyo )

    2.3 (Gingerbread)

    3.0 (Honeycomb)

    4.0 (Ice Cream Sandwich)

    CONCLUSION

    Mobile software development has evolved over time. Android has emerged as a new mobile development platform, building on past

    successes and avoiding past failures of other platforms .Android was designed to empower the developer to write innovative

    applications .The platform is open source, with no up-front fees, and developers enjoy many benefits over other competing platforms.

    Android is open to all: industry, developers and users

    Participating in many of the successful open source projects

    Aims to be as easy to build for as the web.

    Google Android is stepping into the next level of Mobile Internet

    http://msvishnumkl.blogspot.in/2011/08/android-seminar-report.htmlhttp://msvishnumkl.blogspot.in/2011/08/android-seminar-report.html
  • 8/2/2019 andrd

    9/9

    references

    http://www.android.com - Android Official Webpage

    http://developer.android.com/guide/basics/what-is-android.html

    http://code.google.com/android/what-is-android.html

    http://www.openhandsetalliance.com - Open Handset Alliance Webpage

    http://www.androidwiki.com Android Wiki