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.
1. IntroductionWhat 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
What is the Open Handset Alliance (OHA)?Its a consortium of several companies
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
2. Platform2.1 HardwareAndroid is not a single piece of hardware; its a complete, end-to-end softwareplatform 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.
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.
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…
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
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
Application Framework• API interface• Activity manager – manages application life cycle.
Application Framework• Provide API to create UI• Provide API to access system services• Provide API to get resource• Content provider
Applications• Built in and user apps• Can replace built in apps
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.
Fundamental components• View• Activity• Intent• Content Provider• Service
Layouts• Layout in android are the per-defined arrangement of wedged on an activity in android
2.3Security#Android is a mulch-process system, in which each application (and parts of thesystem) runs in its own process. Most security between applications and thesystem is enforced at the process level through standard Linux facilities, such asuser 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 particularprocess can perform, and per-URI permissions for granting ad-hoc access tospecific pieces of data.
3. Software development3.1 Development requirements• Java• Android SDK• Eclipse IDE (optional)
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)
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
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