SlideShare a Scribd company logo
Introduction to Android-Ravi Vyas
History of Android - Origins Android, Inc. was founded in Palo Alto, California, United States in October, 2003
Google acquired Android Inc. in August, 2005
On the November 5, 2007 the Open Handset Alliance(OHA), a consortium of several companies unveiled itself.History of Android - Growth Market share has been growing at an incredible pace.
Market share jumped from 4.7% in Q42009 to 33% in Q42010
As of March 2011 Android Market Share Now 1 of Every 3 US Phones.
Android Device activations grew from 60,000 device activations/day in Feb 2010 to 350,000 device activations/day in March 2011.
Android is now the world's second largest OS after windowsHistory of Android - Version1.0 : Released 23 September 2008
1.1 :On 9 February 2009, Android 1.1 update for Android was released for T-Mobile G1
1.5 (Cupcake) : 30 April 2009. Ability to record and watch videos through camcorder mode,New widgets and folders that can populate the Home screens.
1.6 (Donut) : 15 September 2009 . Support for WVGA screen resolutions. Google free turn-by-turn navigation.
2.1 (Eclair) : 26 October 2009. New Browser UI and HTML5 support. Exchange ActiveSync 2.5 support. Live Wallpapers
2.2 (Froyo) : 20 May 2010. USB tethering and Wi-Fi hotspot functionality, Adobe Flash support.
2.3 (Gingerbread) : Native support for SIP VoIP telephony, NFC.
3.0 (Honeycomb) : 22 February 2011. Tablet support.History of Android - Market Growth 
Android - What is Android?“Android is a [open source] software stack for mobile devices that includes an operating system, middleware and key applications. The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.”
Android - What Android is not?Android is not Linux.Android does not have a windowing system.Does not have all the Linux utilities.
Android – Sourcesource.android.com/source/download.html [bit.ly/SrcAnd]License :  Apache 2.0 & GPL v2Git repositories.
Android - Technical OverviewFeatures:GSM Telephony (hardware dependent)Bluetooth, EDGE, 3G, and WiFi (hardware dependent)Camera, GPS, compass, and accelerometer (hardware dependent)Integrated browser based on the open source WebKit engineOptimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional)Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
Android - Technical OverviewFeatures:Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDEApplication framework enabling reuse and replacement of componentsDalvik virtual machine optimized for mobile devicesSQLite for structured data storage
Android - Architecture
Android – Dalvik VMIt is a virtual machine to…run on a slow CPU
with relatively little RAM

More Related Content

PDF
Why android first
PDF
Android workshop
PPTX
Android application development ppt
PPTX
Arduino - Android Workshop Presentation
PPTX
Android studio ppt
PPTX
Android 101 - Introduction to Android Development
PPTX
Introduction to Android Development
ODP
Introduction to Android App Development
Why android first
Android workshop
Android application development ppt
Arduino - Android Workshop Presentation
Android studio ppt
Android 101 - Introduction to Android Development
Introduction to Android Development
Introduction to Android App Development

What's hot (20)

PPTX
Android summer training report
PPTX
Aandroid
PPT
Android Technology Presentation
PPTX
Android development, Android
PDF
Android
ODP
Ci for Android
PPT
An introduction to Android
ODP
PDF
Introduction to Android Development
PPTX
Introduction to Android ppt
DOCX
Project proposal android operating system
PPT
Android ppt
PPTX
Android material2
PPTX
Android installation guide
PPT
Introduction to Android
PDF
Flutter app
PPTX
Introduction to flutter(1)
PPTX
Project presentation (Loginradius SDK for Android)
PPTX
Flutter introduction
PPTX
Flutter
Android summer training report
Aandroid
Android Technology Presentation
Android development, Android
Android
Ci for Android
An introduction to Android
Introduction to Android Development
Introduction to Android ppt
Project proposal android operating system
Android ppt
Android material2
Android installation guide
Introduction to Android
Flutter app
Introduction to flutter(1)
Project presentation (Loginradius SDK for Android)
Flutter introduction
Flutter
Ad

Similar to Android (20)

DOC
Android
PPTX
What is Android
PDF
Android By Vipin
DOCX
Android tutorial
PPTX
android
PPT
Android Presentation
PPTX
About android
PPT
My androidpresentation
PPTX
Android Presentation
PDF
Introduction to Android - Mobile Fest Singapore 2009
PPTX
Knowledge about android operating system
PPT
Android Anatomy
PDF
Phonebook Directory or Address Book In Android
PPTX
Intro google-android
PPT
Google android os
PPTX
Getting started with android
DOC
Google android white paper
PPTX
Android quick talk
PPT
Introduction to android sessions new
PPT
Introduction to Android.ppt
Android
What is Android
Android By Vipin
Android tutorial
android
Android Presentation
About android
My androidpresentation
Android Presentation
Introduction to Android - Mobile Fest Singapore 2009
Knowledge about android operating system
Android Anatomy
Phonebook Directory or Address Book In Android
Intro google-android
Google android os
Getting started with android
Google android white paper
Android quick talk
Introduction to android sessions new
Introduction to Android.ppt
Ad

More from Ravi Vyas (6)

PDF
What Product Market Fit is not
PDF
Mobile Metrics and Analytics
PDF
Key User Lifecycle Metrics for Growth & Engagement
PPTX
Creating apps that work on all screen sizes
PPTX
Android v 1.1
PPTX
Know thy code
What Product Market Fit is not
Mobile Metrics and Analytics
Key User Lifecycle Metrics for Growth & Engagement
Creating apps that work on all screen sizes
Android v 1.1
Know thy code

Recently uploaded (20)

PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PPTX
A Presentation on Artificial Intelligence
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
1. Introduction to Computer Programming.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
Approach and Philosophy of On baking technology
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
OMC Textile Division Presentation 2021.pptx
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
A Presentation on Artificial Intelligence
A comparative study of natural language inference in Swahili using monolingua...
Spectral efficient network and resource selection model in 5G networks
Programs and apps: productivity, graphics, security and other tools
1. Introduction to Computer Programming.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Machine learning based COVID-19 study performance prediction
Mobile App Security Testing_ A Comprehensive Guide.pdf
Group 1 Presentation -Planning and Decision Making .pptx
Approach and Philosophy of On baking technology
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
NewMind AI Weekly Chronicles - August'25-Week II
Unlocking AI with Model Context Protocol (MCP)
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Empathic Computing: Creating Shared Understanding
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
OMC Textile Division Presentation 2021.pptx

Android

  • 2. History of Android - Origins Android, Inc. was founded in Palo Alto, California, United States in October, 2003
  • 3. Google acquired Android Inc. in August, 2005
  • 4. On the November 5, 2007 the Open Handset Alliance(OHA), a consortium of several companies unveiled itself.History of Android - Growth Market share has been growing at an incredible pace.
  • 5. Market share jumped from 4.7% in Q42009 to 33% in Q42010
  • 6. As of March 2011 Android Market Share Now 1 of Every 3 US Phones.
  • 7. Android Device activations grew from 60,000 device activations/day in Feb 2010 to 350,000 device activations/day in March 2011.
  • 8. Android is now the world's second largest OS after windowsHistory of Android - Version1.0 : Released 23 September 2008
  • 9. 1.1 :On 9 February 2009, Android 1.1 update for Android was released for T-Mobile G1
  • 10. 1.5 (Cupcake) : 30 April 2009. Ability to record and watch videos through camcorder mode,New widgets and folders that can populate the Home screens.
  • 11. 1.6 (Donut) : 15 September 2009 . Support for WVGA screen resolutions. Google free turn-by-turn navigation.
  • 12. 2.1 (Eclair) : 26 October 2009. New Browser UI and HTML5 support. Exchange ActiveSync 2.5 support. Live Wallpapers
  • 13. 2.2 (Froyo) : 20 May 2010. USB tethering and Wi-Fi hotspot functionality, Adobe Flash support.
  • 14. 2.3 (Gingerbread) : Native support for SIP VoIP telephony, NFC.
  • 15. 3.0 (Honeycomb) : 22 February 2011. Tablet support.History of Android - Market Growth 
  • 16. Android - What is Android?“Android is a [open source] software stack for mobile devices that includes an operating system, middleware and key applications. The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.”
  • 17. Android - What Android is not?Android is not Linux.Android does not have a windowing system.Does not have all the Linux utilities.
  • 18. Android – Sourcesource.android.com/source/download.html [bit.ly/SrcAnd]License :  Apache 2.0 & GPL v2Git repositories.
  • 19. Android - Technical OverviewFeatures:GSM Telephony (hardware dependent)Bluetooth, EDGE, 3G, and WiFi (hardware dependent)Camera, GPS, compass, and accelerometer (hardware dependent)Integrated browser based on the open source WebKit engineOptimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional)Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
  • 20. Android - Technical OverviewFeatures:Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDEApplication framework enabling reuse and replacement of componentsDalvik virtual machine optimized for mobile devicesSQLite for structured data storage
  • 22. Android – Dalvik VMIt is a virtual machine to…run on a slow CPU
  • 24. on an OS without swap spaceEach App runs on its own instance of the VM
  • 25. Android – Application FundamentalsApplications are written in the Java programming language.Android SDK tools compile the code—along with any data and resource files—into an Android package, an archive file with an .apksuffix.Android system implements the principle of least privilege.
  • 26. Android – Application ComponentsActivityAn activity represents a single screen with a user interface.Launched in different ways : Launcher , Intents .ServicesA service is a component that runs in the background.Used to perform long-running operations or to perform work for remote processes.Content ProvidersA content provider manages a shared set of application data.Allows applications to share data.Broadcast receiversA broadcast receiver is a component that responds to system-wide broadcast announcements.
  • 27. Android – The Manifest FileLets the system know what components exist in the application
  • 28. Identifies required user permissions ( e.g. read contacts , internet access )
  • 29. Declares the minimum API version
  • 30. Declare the hardware and software features used ( e.g. Camera, GPS )
  • 31. Declares application info ( e.g. name , version )Android – The Manifest File
  • 32. Android – The Project Structure
  • 33. Android – Different Screen Sizes
  • 34. Android – Tools to get our hands dirty Eclipse 
  • 35. Android ADT plug-in for eclipse
  • 36. Android SDK Android – “Hello World”
  • 37. Android – Resources meetup.com/blrdroid/ Bangalore based Android group , 800+ members, 8th largest Android Meetupgroup. developer.android.com
  • 41. Contact usTechJini : Email info@techjini.com
  • 45. contact@ravivyas.comAbhijit Sharma: abhijit.sharmaa@gmail.com

Editor's Notes

  • #7: Answer from Google , my addition – opensourceAdvantage of open source : better understanding , better code , more & better reuse - I extended an AsyncTask Class to make it a Async HTTP Class which handled all the network interaction
  • #9: Answer from Google , my addition – opensourceAdvantage of open source : better understanding , better code , more & better reuse - I extended an AsyncTask Class to make it a Async HTTP Class which handled all the network interactionmajority of the Android software is licensed with Apache 2.0. there may be exceptions which will be handled on a case-by-case basis. For example, the Linux kernel patches are under the GPLv2 license with system exceptions, which can be found on kernel.org.The Apache License requires preservation of the copyright notice and disclaimer, but it is not a copyleft license — it allows use of the source code for the development of proprietary software as well as free and open source software. The GPL is the first copyleft license for general use, which means that derived works can only be distributed under the same license terms.Repo is a tool that Google built on top of Git. Repo helps us manage the many Git repositories
  • #10: Answer from Google
  • #11: SQLite is an ACID-compliant embedded relational database management system contained in a relatively small (~275 kB)[4] C programming library. The source code for SQLite is in the public domain[1][5] and implements most of the SQL standard. In contrast to other databases, SQLite is not a separate process that is accessed from the client application, but an integral part of it.SQLite uses a dynamically and weakly typed SQL syntax that does not guarantee the domain integrity. SQLite is a multitasking database concerning reads. Writes can be done only one-at-a-time. It is a popular choice for local/client storage on web browsers. It has many bindings to programming languages. It is arguably the most widely used database engine, as it is used today by several widespread browsers, operating systems, embedded systems among others.[6]
  • #12: Android will ship with a set of core applications including an email client, SMS program, calendar, maps, browser, contacts, and others. All applications are written using the Java programming language.:::Application Framework:::By providing an open development platform, Android offers developers the ability to build extremely rich and innovative applications. Developers are free to take advantage of the device hardware, access location information, run background services, set alarms, add notifications to the status bar, and much, much more. Developers have full access to the same framework APIs used by the core applications. The application architecture is designed to simplify the reuse of components; any application can publish its capabilities and any other application may then make use of those capabilities (subject to security constraints enforced by the framework). This same mechanism allows components to be replaced by the user.Underlying all applications is a set of services and systems, including:A rich and extensible set of Views that can be used to build an application, including lists, grids, text boxes, buttons, and even an embeddable web browserContent Providers that enable applications to access data from other applications (such as Contacts), or to share their own dataA Resource Manager, providing access to non-code resources such as localized strings, graphics, and layout filesA Notification Manager that enables all applications to display custom alerts in the status barAn Activity Manager that manages the lifecycle of applications and provides a common navigation backstack:::Libraries:::Android includes a set of C/C++ libraries used by various components of the Android system. These capabilities are exposed to developers through the Android application framework. Some of the core libraries are listed below:System C library - a BSD-derived implementation of the standard C system library (libc), tuned for embedded Linux-based devicesMedia Libraries - based on PacketVideo'sOpenCORE; the libraries support playback and recording of many popular audio and video formats, as well as static image files, including MPEG4, H.264, MP3, AAC, AMR, JPG, and PNGSurface Manager - manages access to the display subsystem and seamlessly composites 2D and 3D graphic layers from multiple applicationsLibWebCore - a modern web browser engine which powers both the Android browser and an embeddable web viewSGL - the underlying 2D graphics engine3D libraries - an implementation based on OpenGL ES 1.0 APIs; the libraries use either hardware 3D acceleration (where available) or the included, highly optimized 3D software rasterizerFreeType - bitmap and vector font renderingSQLite - a powerful and lightweight relational database engine available to all applications:::Runtime:::Android includes a set of core libraries that provides most of the functionality available in the core libraries of the Java programming language.::Linux kernel:::Android relies on Linux version 2.6 for core system services such as security, memory management, process management, network stack, and driver model. The kernel also acts as an abstraction layer between the hardware and the rest of the software stack. Why Linux kernel? : Great memory and process management , permission based security model ( each android app has its own userID) , Already open source
  • #13: Every Android application runs in its own process, with its own instance of the Dalvik virtual machine. Dalvik has been written so that a device can run multiple VMs efficiently. The Dalvik VM executes files in the Dalvik Executable (.dex) format which is optimized for minimal memory footprint. The VM is register-based, and runs classes compiled by a Java language compiler that have been transformed into the .dex format by the included "dx" tool.Own instance = added security , sandboxingThe Dalvik VM relies on the Linux kernel for underlying functionality such as threading and low-level memory management.
  • #14: That is, each application, by default, has access only to the components that it requires to do its work and no more. This creates a very secure environment in which an application cannot access parts of the system for which it is not given permission.
  • #15: That is, each application, by default, has access only to the components that it requires to do its work and no more. This creates a very secure environment in which an application cannot access parts of the system for which it is not given permission.
  • #16: On the Java platform, a manifest file is a specific file contained within a JAR archive[1]. It is used to define extension and package related data. It is a metadata file that contains name-value pairs organized in different sections. If a JAR file is intended to be used as an executable file, the manifest file specifies the main class of the application. The manifest file is named MANIFEST.MF.
  • #17: On the Java platform, a manifest file is a specific file contained within a JAR archive[1]. It is used to define extension and package related data. It is a metadata file that contains name-value pairs organized in different sections. If a JAR file is intended to be used as an executable file, the manifest file specifies the main class of the application. The manifest file is named MANIFEST.MF.
  • #20: Everything is free 
  • #21: Live demoLoad eclipse Create new projectCreate new AVDRun project
  • #22: Blrdroid holds regular meetups and hands on sessions.
  • #23: Blrdroid holds regular meetups and hands on sessions.
  • #24: Blrdroid holds regular meetups and hands on sessions.