ANDROID OS NEXT GENERATION MOBILE COMPUTING
Seminar Guide Prof. Mohd.Faisal Seminar By AAKASH JOSHI
OUTLINE
1. INTRODUCTION 2. ARCHITECTURE 3. ANATOMY OF DEVELOPMENT
4. APPLICATION
WHAT IS ANDROID?
Mobile Operating System
based on Linux 2.6 kernel
July 2005; Google acquired Android Inc. 5 Nov 2007; Open HandSet Alliance form Google, HTC, Intel, Motorola, Qualcomm, T-Mobile 12 Nov 2007; OHA released a preview of the Android os
21 oct 2008:Google relese all code under apache license
Android is a software stack
Operating System Middleware Applications Framework
ANDROID FEATURES
Application Framework Enabling reuse & replacement of component Dalvik Virtual Machine Optimized for mobile devices Integrated Browser Based on open source WebKit engine
ANDROID FEATURES
Optimized graphics powered by custom 2D graphics library 3D based on openGL ES 1.0 specification SQlite Structured data storage Media Support common audio,video and image format
ANDROID FEATURES
GSM telephony (hardware dependant) Bluetooth,EDGE,3G,Wi-Fi(hardware dependant) Camera ,GPS (hardware dependant) Rich Development Environment SDK include device emulator, debugger, memory & performance profiling , plugin for Eclipse IDE
ANDROID ARCHITECTURE
Fig. Architecture of Android OS
LINUX KERNEL
Linux Version 2.6 as - h/w abstraction layer
Proven driver model
Security, Memory & Process Management Efficient computing resource management Stable and proven for mobile platform
LIBRARIES
Written in C/C++ - System C Library(libc) Surface manager - composing different drawing screens Display/Graphics(SGL)-for 2D graphics OpenGLES 3D Graphics Library Media Libraries SQLite RDB engine-light weight LibWebCoreweb browser engineembeddable web view
ANDROID RUNTIME
Includes a set of core libraries that provides most of the functionality-JAVA Every Android application runs in its own process
Dalvik VM executes files in the (.dex) format
Device can run multiple VMs efficiently
APPLICATION FRAMEWORK
Activity Manager : Manages the lifecycle of applications Content provider : Enable applications access data from other applications Resource Manager : Providing access to non-code resources Window Manager Notification manager
TECHNIQUES FOR SAVING DATA
SQLite Databases: relational
database library for storing and managing complex data
Files: you
can create, write, and read files from the local storage or external media (SD Cards)
FileOutputStream, FileInputStream, and Resources classes.
THE DALVIK VIRTUAL MACHINE
Interpreter only machine optimized for use on low powered, low memory devices like phones Dalvik uses the Java programming language but not the JVM Dalvik is not a Java virtual machine. It uses bytecode format called dex.
DEVELOPMENT TOOL
Android Emulator -A virtual 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
LIFE1 0 / 3 / 2 0 1 2 OF CYCLE APPLICATION
1. A foreground process 2. A visible process 3. A service process 4. A background process 5. An empty process
MITCOE,PUNE
APPLICATION
APPLICATION
ADVANTEGES
Open - Android allows you to access core mobile device functionality through standard API calls. All applications are equal - Android does not differentiate between the phone's basic and third-party applications -- even the dialer or home screen can be replaced. Breaking down boundaries - Combine information from the web with data on the phone -- such as contacts or geographic location -- to create new user experiences. Fast and easy development - The SDK contains what you need to build and run Android applications, including a true device emulator and advanced debugging tools.
DISADVANTAGES
Security - Making source code available to everyone inevitably invites the attention of black hat hackers. Open Source - A disadvantage of open-source development is that anyone can scrutinize the source code to find vulnerabilities and write exploits. Login - Platform doesn't run on an encrypted file system and has a vulnerable log-in. Incompetence - Googles dependence on hardware and carrier partners puts the final product out of their control.
CONCLUSION
Android is a disruptive technology, which was introduced initially on mobile handsets, but has much wider potential.
REFERENCES
As the subject is quite new and there are no books and papers published yet, I wrote this report based on the information I found on these web pages 1.http://code. google. com/android/ - Google Android official webpage 2. http://www. openhandsetalliance.com/ - Open Handset Alliance webpage 3. http://en. Wikipedia .org/ wiki/Android_ (mobile_phone_platform) Wikipedia information 4.http://googleblog.blogspot.com/ - Official Google Blog 5.http://davanum.wordpress.com Gtalk code example written by Davanum Srinivas Moreover, I found the interesting topics on Google Android browsing Google Groups,and, of course, using Google search by itself.