Android understanding


Published on

This presentation basically helps budding enthusiasts to understand the base architecture of Android and board-level features of the platform

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

No notes for slide

Android understanding

  1. 1. JayparAndroidIntroduction <br />
  2. 2. Android Introduction<br />Outline<br /><ul><li>Background
  3. 3. What is Android
  4. 4. Features
  5. 5. Android Architecture
  6. 6. Linux kernel
  7. 7. Native Libraries
  8. 8. Android Runtime
  9. 9. Application Framework
  10. 10. Applications
  11. 11. Software Development Kit (SDK)</li></li></ul><li>Android Introduction<br />Embeded System<br />Wikipedia :<br />An embedded system is a computer system designed to perform one or a few dedicated functionsoften with real-time computing constraints. It is embedded as part of a complete device often including hardware and mechanical parts.<br />Embedded systems are controlled by a main processing core that is typically either a microcontroller or a digital signal processor (DSP).<br />
  12. 12. Android Introduction<br />Internet and Mobile Phone Users<br />
  13. 13. Open Handset Alliance<br /><ul><li>The OHA is a group of hardware and software developers, including Google, NTT DoCoMo, Sprint Nextel, and HTC …
  14. 14. Goal
  15. 15. Accelerate innovation in mobile
  16. 16. Offer consumers a richer, less expensive, and better mobile experience
  17. 17. OHA have developed Android™, the first complete, open, and free mobile platform</li></ul>Android Introduction<br />
  18. 18. Android Introduction<br />Google Phone<br />HTC Dream , T mobile G1, announced at 2008.09<br />HTC Hero, HTC Magic, HTC Tatoo<br />SAMSUNG Galaxy i7500<br />
  19. 19. What is Android ?<br />Android is a software stack for mobile devices that includes an operating system, middleware and key applications.<br />Android is a Java-based operating system that runs on the Linux 2.6 kernel.<br />The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.<br />Android Introduction<br />
  20. 20. Features<br /><ul><li>Application framework enabling reuse and replacement of components
  21. 21. Dalvik virtual machine optimized for mobile devices
  22. 22. Integrated browser based on the open source WebKit engine
  23. 23. Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional)
  24. 24. SQLite for structured data storage</li></ul>Android Introduction<br />
  25. 25. Features(con’t)<br /><ul><li>Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
  26. 26. GSM Telephony (hardware dependent)
  27. 27. Bluetooth, EDGE, 3G, and WiFi (hardware dependent)
  28. 28. Camera, GPS, compass, and accelerometer (hardware dependent)
  29. 29. Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE</li></ul>Android Introduction<br />
  30. 30. Android Introduction<br />Android Architecture<br />
  31. 31. Android Introduction<br />Linux Kernel<br /><ul><li>Android is built on the Linux kernel, but Android is not Linux
  32. 32. Provide core system services such as process, memory, power management, network stack, driver model and security
  33. 33. Does not include the full set of standard Linux utilities</li></ul>The Android kernel source is available today <br /><br />
  34. 34. Android Introduction<br />Native Libraries<br />Bionic Libc<br />Function Libraries<br />Native Servers<br />Hardware Abstraction Libraries<br />
  35. 35. Android Introduction<br />Bionic Libc<br /><ul><li>C/C++ library
  36. 36. Custom libc implementation, optimized for embedded use.
  37. 37. Pros (compare with glibc)
  38. 38. BSD License
  39. 39. Small size and fast code paths
  40. 40. Very fast and small custom pthread implementation
  41. 41. Not compatible with Gnu Libc (glibc)</li></li></ul><li>Android Introduction<br />Function Libraries<br /><ul><li>WebKit
  42. 42. Based on open source WebKit browser
  43. 43. Full CSS, Javascript, DOM, AJAX support
  44. 44. Media Framework
  45. 45. Based on PacketVideoOpenCORE platform
  46. 46. Supports standard video, audio, still-frame formats
  47. 47. SOLite
  48. 48. Light-weight transactional data store
  49. 49. Back end for most platform data storage</li></li></ul><li>Android Introduction<br />AndroidRuntime<br />Application Developed language : Java<br />Dalvik Virtual Machine <br />Instruction set : DalvikExcutable<br />Java Standard Library<br />Compile java code to DalvikExecutable (dex format)<br />
  50. 50. Android Introduction<br />Dalvik Virtual Machine<br /><ul><li>Android custom implementation virtual machine
  51. 51. Provides application portability and runtime consistency
  52. 52. Runs optimized file format (.dex) and Dalvikbytecode
  53. 53. Java .class / .jar files converted to .dex at build time
  54. 54. Designed for embedded environment
  55. 55. Supports multiple virtual machine processes per device
  56. 56. Highly CPU-optimized bytecode interpreter
  57. 57. Efficiently Using runtime memory
  58. 58. Core Libraries
  59. 59. Core APIs for Java language provide a powerful, yet simple and familiar development platform</li></li></ul><li>Android Introduction<br />Application Framework<br /><ul><li>Activity manager
  60. 60. Manage the life cycle of applications
  61. 61. Content Provider
  62. 62. Share data between applications
  63. 63. Resource Manager
  64. 64. Manager non-code resource
  65. 65. Notification Manager
  66. 66. Display custom alerts in the status bar
  67. 67. Views System
  68. 68. A rich and extensible set, which can construct UI</li></li></ul><li>Android Introduction<br />Applications<br />Use the powerful and flexible application framework to develop your application<br />Written by JAVA programming language<br />
  69. 69. Android Introduction<br />Application Development Environment<br />IDE – Eclipse <br />Eclipse plug-in - ADT<br />Software Development Kit (SDK)<br />Android Emulator<br />Debbuger<br />
  70. 70. Android Introduction<br />Software Development Kit<br /><ul><li>The Android SDK includes a variety of custom tools that help you develop mobile applications on the Android platform.
  71. 71. Android Emulator
  72. 72. Android Development Tools Plugin (for the Eclipse IDE)
  73. 73. Android Virtual Devices (AVDs)
  74. 74. Hierarchy Viewer
  75. 75. Android Debug Bridge (adb)</li></li></ul><li>Android Introduction<br />AndroidEmulator<br />Virtual mobile device<br />QEMU-based ARM emulator<br />Design application in an actual Android runtime environment<br />Use the same toolchain<br />Run the same binary<br />
  76. 76. Android Introduction<br />THANKYOU <br />- Y. Ramesh Rao<br />