Skip to main content
Nitesh Naryan Lal
          090905311
niteshnaryanalal@indiatimes.com
–   1. Introduction

–   2. Platform

–   3. Software development

–   4. Project

–   5. Future Aspects
Why Android Was Created?

• Android is free
• Developer can make and customize there own mobile
  applications
Mobile Applications
Maps and Web Browsing
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. 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
What is the Open Handset Alliance (OHA)?

It's 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
Android 5 JellyBean
Upcoming version of Android
Android 6 Key Lime Pie
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.
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 Architecture
Linux Kernel

•   Device drivers
•   Memory management
•   Process management
•   Networking
Kernel


• Linux kernel with system services:
   – Security
   – Memory and process management
   – Network stack
• Provide driver to access hardware:
   – Camera
   – Display and audio
   – Wifi
Dalvik VM
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 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.
3. Software development
3.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)
Application components


• Android Manifest.xml
• Main.xml
• String.xml
• R.java
• Java source code
Project
Classes Used

• MyLocationOverlay
• GeoPoint
• Geocoder(For Geocoding & Reverse Geocoding)
• TextToSpeech
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