01 03 - introduction to android


Published on

introduction to android

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

01 03 - introduction to android

  1. 1. Introduction Android Platform
  2. 2. Agenda What Is Android? What's Special about Android OS What are the different Flavors of Android OS What is Meant by an Open Source and how Android fits in to this Part Contrasting and comparing Open Source Vs Traditional Development Players behind the development of Android OS(OHA Group) Advantages of Android and How Android can benefit you Different Operating Systems that Support Android Application Development Android architecture Android application model
  3. 3. What is open Source?  Industry  Software stack open-sourced under Apache 2.0 license  Source available after first handsets ship  Anyone will be able to build a system image  Developer  Don not need permission to ship an application  No hidden or privileged framework APIs  Can integrate, extend and replace existing components  Users  Users have control of their experience  They control what gets installed  They choose the defaults
  4. 4. @2011 Mihail L. Sichitiu4 What is Android?  An automaton that resembles a human being  Android is a software stack for mobile devices that includes an operating system, middleware and key applications.
  5. 5. Introduction to Android  Android is an open-source software platform created by Google and the Open Handset Alliance.  It is primarily used to power mobile phones.  Powered by Linux operating system.  Fast application development in Java.  Open source under the Apache license  It has the capability to make inroads in many other (non-phone) embedded application markets.
  6. 6. Why Android “We created Android in response to our own experiences launching mobile apps. We wanted to make sure that there was no central point of failure, so that no industry player can restrict or control the innovations of any other. That's why we created Android, and made its source code open.” - Google -
  7. 7. Android Open Source Project (AOSP)  The goal of the Android Open Source Project is to create a successful real-world product that improves the mobile experience for end users.  To get and compile Android source code: http://source.android.com/source/initializing.html
  8. 8. Features Application framework enabling reuse and replacement of components Dalvik virtual machine optimized for mobile devices Integrated browser based on the open source Web Kit engine Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional) SQLite for structured data storage Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) GSM Telephony (hardware dependent) Bluetooth, EDGE, 3G, and Wi-Fi (hardware dependent) Camera, GPS, compass, and accelerometer (hardware dependent) Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plug-in for the Eclipse IDE
  9. 9. Open Handset Alliance
  10. 10. History of Android 2001 search service for wireless device 2005 • –Acquire Android(Andy Rubin: Danger CEO, Development Sidekick of T- Mobile) • –Acquire Skia(2D Graphics for mobile device) • –Acquire Reg Wireless (Browser and Email for mobile device) • –Move Engineers from PlamSource(Dianne Hackborn, etc…) 2007 Nov 5: Android announced 2007 Nov 12: Android SDK released by OHA 2007 Dec 14: Bug-fix SDK released 2008 Jan 3: Android Developer Challenge I starts accepting submissions 2008 Feb 13: m5-rc15 SDK released 2008 Apr 14: 1788 total submissions for Challenge I 2008 May 12: Top 50 Applications in Challenge I announced 2008 Nov: Android Phone(G1 Phone by HTC/T-mobile) 2008 Nov: Full Source Open 2009 Apr: HTC Magic 2009 July: HTC Hero, Samsung i7500, Android Netbook, Set-top…… 2009 Aug: Android Developer Challenge II
  11. 11. @2011 Mihail L. Sichitiu11 Phones HTC G1, Droid, Tattoo Motorola Droid (X) Suno S880 Sony Ericsson
  12. 12. Tablets Velocity Micro Cruz Gome FlyTouch Acer beTouch Dawa D7 Toshiba Android SmartBook Cisco Android Tablet
  13. 13. Android Versions
  14. 14. Android Versions and releases OS Ver Nickname API Level Date 1.1 __ 2 9th February 2009 1.5 Cupcake 3 30 April 2009 1.6 Donut 4 5 September 2009 2.1 Eclair 7 26 October 2009 2.2 Froyo 8 20 May 2010 2.3 Gingerbread 9 6th December 2010 3.0 Honeycomb 11 22nd February 2011 4.0x Icecream Sandwich 14 19th October 2011 4.1 Jelly Bean 16 July 9, 2012
  15. 15. Android 1.1 Bender Android 1.5 Cupcake
  16. 16. Android 1.6 Donut Android 2.0 ve 2.1 Eclair
  17. 17. Android 2.2 Froyo Android 2.3 Gingerbread
  18. 18. Android 3.0 Honeycomb
  19. 19. Android 4.0 Ice Cream Sandwich
  20. 20. The Linux Kernel in Android  • Android is based on the Linux kernel  • Android is not Linux  • No native windowing system  • Does not include full set of standard linux utilities  • Kernel source at http://git.android.com
  21. 21. Why Linux kernel for Android ?  Great memory and process management  Great permissions based security model  Proven driver model  Support for shared libraries  It’s already open source
  22. 22. Android Architecture
  23. 23. Linux Kernel • Android relies on Linux version 2.6 for core system services such as device drivers, security, memory management ,process management. • The kernel also acts as an abstraction layer between the hardware and the rest of the software stack.
  24. 24. • Includes a set of C/C++ libraries. • Interface through Java. • Surface manager – Handling UI Windows. • 2D and 3D graphics. • Media codecs, SQLite, Browser engine.
  25. 25. • Dalvik VM (translator between the application side and the operating system) – Dex files (.dex)format – Compact and efficient than class files – Limited memory and battery power • Core Libraries – Java 5 Std edition – Collections, I/O etc… 2
  26. 26. Application Framework  Framework elements are: Intents , Content Providers , Views and managers  This layer has been designed to facilitate the reuse of components in android  Developers can build their applications to execute on android kernel and inter-operate among themselves and with existing applications
  27. 27. Applications • Android will ship with a set of core applications including an a)Email client, b)SMS program, c)Calendar, d)Contacts & others…. • All the applications are written using the Java programming language.
  28. 28. Write app in Java Compiled in Java Transformed to Dalvik byte code Linux OS Loaded into Dalvik VM Android applications are compiled to Dalvik byte code
  29. 29. Android SDK v ADT: Android Development Tool, an Eclipe plugin v Two debuggers § adb: Android Debug Bridge § ddms: Dalvik Debug Monitor Server v aapk: Android Application package tool § All resources are bundled into an archive, calledapk file. v dx: java byte code to Dalvik executable translator
  30. 30. Android applications have common structure 30 Views such as lists, grids, text boxes, buttons, and even an embeddable web browser Content Providers that enable applications to access data from other applications (such as Contacts), or to share their own data A Resource Manager, providing access to non-code resources such as localized strings, graphics, and layout files A Notification Manager that enables all apps to display custom alerts in the status bar An Activity Manager that manages the life cycle of applications and provides a common navigation backstack
  31. 31. Android applications have common structure Broadcast receivers can trigger intents that start an application Data storage provide data for your apps, and can be shared between apps – database, file, and shared preferences (hash map) used by group of applications Services run in the background and have no UI for the user – they will update data, and trigger events Intents specify what specific action should be performed Activity is the presentation layer of your app: there will be one per screen, and the Views provide the UI to the activity
  32. 32. There is a common file structure for applications code images files UI layouts constants Autogenerate d resource list
  33. 33. Building blocks
  34. 34. Questions?