The document discusses the history and development of the Android operating system, describing how it was created by Android Inc. and later acquired by Google, and outlines some of the key aspects of the Android platform including its open source nature, hardware requirements, software architecture using Linux and Java, and security features. It also provides an overview of the software development process for Android including required tools and common application components.
6. Advantages of Android
• Purely open source.
• Component based architecture.
• Location-based services.
• Automatic Memory Management.
• High quality graphics and sound.
• Portability across a wide range of current and future
hardware.
• Cross-Compatibility.
• Mash up Compatibility.
7. 1. Introduction
What is Android?
• A software platform and operating system for mobile devices
• Based on the Linux kernel
• Founded in PoloAlto ,California(US) by Andy Rubin, Rich Miner and Nick
Sears(2003)
• Acquired by Google(2005) and later the Open Handset Alliance (OHA)
(2007)
• Allows writing managed code in the Java language
• Possibility to write applications in other languages and compiling it to ARM
native code (support of Google? No)
• Unveiling of the Android platform was announced on 5 November 2007 with
the founding of OHA
8. What is the Open Handset Alliance (OHA)?
It's a consortium of several companies
9. What is the Open Handset Alliance (OHA)?
• Devoted to advancing open standards for mobile devices
• Develop technologies that will significantly lower the cost of developing
and distributing mobile devices and services
20. 2. Platform
2.1 Hardware
Android is not a single piece of hardware; it's a complete, end-to-end software
platform that can be adapted to work on any number of hardware configurations.
Everything is there, from the bootloader all the way up to the applications.
21. 2.2 Operating System(s)
• Android uses Linux for its device drivers, memory management, process
management, and networking.
• The next level up contains the Android native libraries. They are all written in
C/C++ internally, but you’ll be calling them through Java interfaces. In this
layer you can find the Surface Manager, 2D and 3D graphics, Media codecs,
the SQL database (SQLite), and a native web browser engine (WebKit).
• Dalvik Virtual Machine. Dalvik runs dex files, which are coverted at compile
time from standard class and jar files.
23. Linux Kernel
• Device drivers
• Memory management
• Process management
• Networking
24. Kernel
• Linux kernel with system services:
– Security
– Memory and process management
– Network stack
• Provide driver to access hardware:
– Camera
– Display and audio
– Wifi
26. Android Runtime
• Dalvik VM
– Dex files
– Compact and efficient than class files
– Limited memory and battery power
• Core Libraries
– Java 5 Std edition
– Collections, I/O etc…
27. Libraries
• C/C++ libraries including:
– System C library
– Media libraries: support playback and record many audio and
video format including MPEG4, H.264, MP3, AAC, AMR, JPG, and
PNG
– Surface Manager: manages access to the display subsystem and
seamlessly composites 2D and 3D graphic layers from multiple
applications
– LibWebCore: a modern web browser engine which powers both
the Android browser and an embeddable web view
28. Libraries
• C/C++ libraries including:
– SGL: the underlying 2D graphics engine
– 3D libraries: an implementation based on OpenGL ES 1.0
APIs
– SQLite: a powerful and lightweight relational database
engine available to all applications
– FreeType: bitmap and vector font rendering
32. Applications
• Set of necessary application
– Core application of Android include: Home, Browser, Camera
• Your ability:
– Create new applications
– Replace default applications
– Use exist applications for your purposes
Ex: your application want to get a picture from camera. So call
Camera of Android through intent component.
34. Layouts
• Layout in android are the per-defined arrangement of
wedged on an activity in android
35. 2.3Security
#Android is a mulch-process system, in which each application (and parts of the
system) runs in its own process. Most security between applications and the
system is enforced at the process level through standard Linux facilities, such as
user and group IDs that are assigned to applications.
#Each application runs with its own dalvik vm instance.
#Additional finer-grained security features are provided through a "permission"
mechanism that enforces restrictions on the specific operations that a particular
process can perform, and per-URI permissions for granting ad-hoc access to
specific pieces of data.
37. Android Emulator
• Emulator is a virtual mobile on you computer so that you can run
an application and get the correct output.
• The Android SDK ships with an Eclipse plug-in called Android
Development tools(ADT)
41. Easy Navigator
• Locate the current location of the user on Google map
• Find the destination entered by the user on Google map
• Draw an path way between the user current location to the
destination
• Speak out the driving directions from the source to the destination
42. Features Implementation In Progress
• Find the real time traffic present in the user path
• Based on the traffic find a lesser traffic path way for the user
• Find Walking and Cycling distances for the user
• Giving user an option to save his search in the database