1 / 18

Introduction to Android

Introduction to Android. Mohammad A. Gowayyed CS334-Spring 2014. Android OS. Mobile OS for: Smart phones Tablets TVs Textbook: “Professional Android 4 Application Development”, 2012 by Reto Meier. Third-Party applications. C/C++ using proprietary APIs J2ME

newton
Download Presentation

Introduction to Android

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to Android Mohammad A. Gowayyed CS334-Spring 2014

  2. Android OS • Mobile OS for: • Smart phones • Tablets • TVs • Textbook: • “Professional Android 4 Application Development”, 2012 by Reto Meier

  3. Third-Party applications • C/C++ • using proprietary APIs • J2ME • restricted access to device hardware • Generally, third party always used different APIs than native • Android treats third party the same as native.

  4. Native Android Applications • E-mail client • SMS management application • Full PIM (personal information management) suite, including a calendar and contacts list • WebKit-based web browser • Music player and picture gallery • Camera and video recording application • Calculator • Home screen • Alarm clock

  5. Android Features • Access to Hardware, Including Camera, GPS, and Sensors • Data Transfers Using Wi-Fi, Bluetooth, and NFC • Maps, Geocoding, and Location-Based Services • Background Services • Notifications • SQLite Database for Data Storage and Retrieval • Shared Data and Inter-Application Communication • Intents • Content Providers

  6. Android Features • Using Widgets and Live Wallpaper to Enhance the Home Screen • Extensive Media Support and 2D/3D Graphics • Cloud to Device Messaging (C2DM) • Event-driven applications based on server-side pushes • Optimized Memory and Process Management • Stop and kill processes as necessary

  7. Android Unique Features • Google Maps applications • Background services and applications • Shared data and inter-process communication • All applications are created equal • Native vs. Third-Party • Same API and Same Runtime • Home-screen Widgets, Live Wallpaper, and the quick search box

  8. Open Handset Alliance(OHA) • more than 80 technology companies • hardware manufacturers • mobile carriers • software developers • semiconductor companies • commercialization companies • made a commitment to deliver better mobile software experience

  9. What Android Isn’t • A Java ME implementation • Part of the Linux Phone Standards Forum (LiPS) • Simply an application layer, but a complete software stack • A mobile phone handset • Google’s answer to the iPhone

  10. Comparisons • Android vs. Microsoft Windows Phone • Android vs. Apple iOS • Both may prioritize native over third-party

  11. Why to develop for Android? • 850,000 new Android devices are activated daily • No certification is required to become an Android developer • Google Play provides free, up-front purchase, and in-app billing options for distribution and monetization of your applications • There is no approval process for application distribution • Developers have total control over their brands.

  12. How to develop for Android? • Java for Android • Dalvik Virtual Machine • Each Android application runs in a separate process within its own Dalvik instance • Start Here: http://developer.android.com/training/basics/firstapp/index.html

  13. Android Software Stack • Linux Kernel • Libraries • Android Runtime • Core libraries • Dalvik VM • not a JVM • register-based not stack-based • Android Framework • Application Layer

  14. Dalvik Virtual Machine • VM designed to ensure that multiple instances run efficiently on a single device • The Dalvik VM executes Dalvik executable files, a format optimized to ensure minimal memory footprint. • uses the Linux kernel to handle low-level functionality, including security, threading, and process and memory management • You can write C/C++ code (NDK), but why would you? • You create .dex executables by transforming Java language compiled classes using the tools supplied within the SDK.

  15. Android Application Architecture • Activity Manager – chapter 3 and 4 • Views – chapter 4 • Notification Manager – chapter 10 • Content Providers – chapter 8 • Resource Manager – chapter 3 • Intents – chapter 5 Check the packages documentation: http://developer.android.com/reference/packages.html

  16. Types of Android Applications • Foreground • Games • Background • Alarm • SMS auto-responders • Intermittent • Most common • expect limited interactivity but do most of their work in the background – media player. • typically used as foreground but do important work in the background – Email and news applications. • Widgets and Live Wallpapers • Some applications are represented only as a home-screen Widget or as a Live Wallpaper.

  17. Get More … • Google I/O 2008 - An Introduction to Android by Jason Chen • YouTube: v=x1ZZ-R3p_w8 • Google IO – Android Sessions • YouTube: list=PL734A052F802C96B9 • Readings • chapters 1 to 4 • Next week: Quiz on the first chapter Just read it!

More Related