OUTLINE• Introduction• History• Features• Android Architecture• Application Framework• Libraries• Android Runtime• Linux Kernel• Development Tools• Advantages and Disadvantages• Conclusion
What is Android ?• Android is a software stack for mobile devices that includes an operating system, middleware and key applications.• The Android sdk provides the tools and APIs which are necessary for developing applications on android platform using java programming language.
Why Android was created ?• Android is free• Developer can make and customize there own mobile applications.
Introduction• Open software platform for mobile development• A complete stack – OS, Middleware, Applications• An Open Handset Alliance (OHA) project• Powered by Linux operating system• Fast application development in Java• Open source under the Apache 2 license
History• July 2005 - Google acquired Android Inc.• 5 Nov 2007 - Open Handset Alliance formed- Google, HTC, Intel, Motorola, QUALCOMM- Mobile• Android is the OHA first product• 12 Nov 2007 - OHA released a preview of the Android OHA• Founders – Andy Rubin, Rich Miner, Nick Sears and Chris White• 23 Sep, 2008 – First Android mobile phone
Android Features• Integrated browser based on the open source WebKit engine• SQLite for relational data storage• Media support for common audio, video, and still image formats ( MPEG4 , H.264, MP3 , AAC, AMR, JPG , PNG, GIF )• Dalvik Virtual Machine optimized for mobile devices• Hardware feature supported – Cellular networking : GSM, EDGE, 3G (hardware dependent)• LAN : Bluetooth, and Wi-Fi (hardware dependent)• Graphics Hardware Acceleration• Camera, GPS and Compass (hardware dependent)• Touch screen and accelerometer for motion sensing
Application Framework• Content Providers - enable applications to access data from other applications (such as Contacts)• Resource Manager - providing access to non-code resources• Notification Manager - enables all applications to display custom alerts in the status bar• Activity Manager - manages the lifecycle of applications• Package Manager - shows all the applications installed on your device• Telephony Manager - For all Calls/SMS/MMS managing
Libraries• Libraries Written in C/C++ -• System C Library(libc)• Display/Graphics(SGL) – 2D image engine• Open GL|ES – 3D image engine• Media Framework – Core part of Android multimedia• SQLite – Embedded database• WebKit – Kernel of Web browser• Free Type: Bitmap and Vector• Surface Manager: Manage difference windows for different applications• SSL: Secure Socket Layer
Linux Kernel• Linux Version 2.6.x for core system services• Android uses only “Kernel” portion in Linux
Android Runtime• Core Libraries • Provides the functionality of the JAVA Programming Language • Android Application runs in its own process, with its own instance of the Dalvik virtual machine• Dalvik VM: Java based license free VM • Register based VM, optimization for low memory requirements • Executes files in the Dalvik Executable (.dex) format • DX tool converts classes to .dex format
Development Tools• The Android Emulator• DalvikDebug Monitoring Service (DDMS)• Android Debug Bridge (ADB)• Traceview• Android Asset Packaging Tool (aapt)• sqlite3• Dx
Advantages• It can run multiple apps at the same time• It has a better app market(1,80,000 applications)• It gives you better notifications• It lets you choose your hardware• Removable Battery allowing users to secure an extra battery and swap them out.• Almost all phones have the removable SD card.• Cheaper as compared to other smart phones.
Disadvantages• Some phones forces to configure GMAIL account.• Does not deliver an on-screen keyboard that’s capable of supporting multiple language at a time.• Google does not support installing apps to the SD card, so developers are limited in what they can create.
CONCLUSION• Android is an open source, free development platform mobile device platform based on Linux OS.• 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