Brief Overview of Android Mobile Computing Issues • • • • • • Reduced processor/memory capability Lower bandwidth/slower data transfer speeds Limited battery capacity Reduced reliability (e.g., from cell coverage) Smaller screens (user interface issues) Limited operating system resources ©SoftMoore Consulting Slide 2 Mobile Application Development: Which Platform? • Android (Samsung, Motorola, HTC, LG, …) • • • • BlackBerry (formerly RIM) • … iPhone/iOS (Apple) Tizen (Samsung) Windows Phone (Microsoft, HTC, …) ©SoftMoore Consulting Slide 3 What is Android? • Android is a software stack for mobile devices that includes an operating system, middleware, and key applications. • Android is the first complete, open, and free mobile platform. Neither developers nor handset manufacturers pay royalties or license fees to develop for Android. • The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language. • Android has the largest installed base of any mobile platform. ©SoftMoore Consulting Slide 4 U.S. Mobile Market (comScore, November 2014) Total Subscribers Top Smartphone OEMs Top Smartphone Platforms ©SoftMoore Consulting % Apple 42.1 Samsung 28.6 LG 6.4 Motorola 5.9 Total Subscribers % Android 51.9 Apple 42.1 Microsoft 3.4 BlackBerry 2.4 Slide 5 Approaches to Building Mobile Applications • Web-based application using a remote web-server – HTML – browser – etc. • – HTTP – JavaScript Use web technology (e.g., HTML, browser), for userinterface, but load the application onto the mobile device – i.e., no remote server • Native application – Java for Android – Objective C/Swift for IOS • Hybrid approaches ©SoftMoore Consulting Slide 6 Android Development Environments • Android Studio (official IDE for Android as of December 2014) – Android development environment based on IntelliJ IDEA – http://developer.android.com/sdk/index.html • Android Eclipse ADT (previous official IDE for Android) – Android Development Tools based on Eclipse – http://developer.android.com/sdk/installing/installing-adt.html • Oracle Mobile Application Framework – build applications for iOS and Android from a single code base – http://www.oracle.com/technetwork/developer-tools/maf/overview/index.html • MIT App Inventor – allows programming novices to create Android applications – http://appinventor.mit.edu/explore/ • … others ©SoftMoore Consulting Slide 7 Brief History of Android • Originally developed by Android, Inc., a small startup company in Palo Alto, California. • • 2005: Google acquired Android, Inc. 2007: Google and 34 other companies formed the Open Handset Alliance, with Android as its flagship software. – Members include Google, Intel, Texas Instruments, Sprint, HTC, T-Mobile, Motorola, Samsung, LG, and Sony Ericsson. – OHA now has more than 70 members • 2008: first commercially available phone running Android released, the T-Mobile G1 (a.k.a. the HTC Dream). ©SoftMoore Consulting Slide 8 Major Android Platform Versions (since 2009) • 2.0-2.1 (Éclair) • – API level 5-7 – first released in 2009 • 2.2-2.2.3 (Froyo) – API level 8 – first released in 2010 • 2.3-2.3.7 (Gingerbread) – API levels 9-10 – first released in 2010 • 3.0-3.2 (Honeycomb) – API levels 11-13 – tablet oriented – first released in 2011 ©SoftMoore Consulting 4.0 (Ice Cream Sandwich) – API level 14-15 – combined Ginger/Honey – first released in 2011 • 4.1-4.3 (Jelly Bean) – API levels 16-18 – first released in 2012 • 4.4-4.4.4 (KitKat) – API level 19-20 – first released in 2013 • 5.0 (Lollipop) – API level 21 – first released in 2014 Slide 9 Distribution of Android Platform Versions Based on the number of Android devices that visited the Google Play Store during a 7-day period ending January 5, 2015. ©SoftMoore Consulting Slide 10 Installing the Android SDK • See – handout on installing Java – http://developer.android.com/sdk/index.html • Basic steps – – – – – – Download/install the Java Development Kit Create environment variable for JAVA_HOME Download/install Android Studio Create environment variable for ANDROID_SDK_HOME Add Android platforms and other components Create one or more emulators ©SoftMoore Consulting 11 Relevant Links • Android Developers http://developer.android.com/ • Android.com http://www.android.com/ • Android – Wikipedia http://en.wikipedia.org/wiki/Android_(operating_system) • Open Handset Alliance http://www.openhandsetalliance.com/ • Boost the Android emulator speed on Intel architecture http://www.javacodegeeks.com/2013/12/android-boost-up-the-androidemulator-speed-up-to-400-on-intel-based-architecture.html ©SoftMoore Consulting Slide 12