App-dev 1

What is Android?

  • Mobile operating system maintained by Google, originally acquired from Android, Inc. in 2005.

  • Runs on various devices including phones, tablets, watches, TVs.

  • Based on Java (development language) and Linux (kernel).

  • Market Position:

    • The #1 mobile OS worldwide.

    • Now the #1 overall OS worldwide.

  • Over 1 million apps published in Play Store.

  • Code released as open source (periodically) for customization, licensing, piracy, etc.

Advantages of Developing for Android

  • User Experience:

    • Provides a better, snappier UI with a consistent user experience compared to mobile web pages.

    • Allows for various widgets/controls access and direct hardware control (camera, GPS).

    • Users prefer apps over mobile web browsing.

  • Developer Considerations:

    • Familiar programming language (Java) instead of Objective-C or Swift.

    • Free developer tools compared to costly Apple counterparts.

    • More liberated app store, allowing apps on personal devices and others.

    • Larger install base; existing classes (CS 193P) for building iOS apps available.

Advantages for Developers

  • SDK Accessibility:

    • Android SDK available for Windows, Mac, and Linux, no need for new hardware.

  • Familiarity with Java: -Built on Java, offering a smooth transition for programmers.

  • Distribution Multiple Channels:

    • Distribute applications on Android Market and other platforms (personal blogs).

  • Growing Resources:

    • Technical documentation and resources continually published, reflecting growing popularity.

Android Architecture

  • Provides libraries for various system features:

    • Contacts, phone dialing, notifications, 2D/3D graphics, database access, security/encryption, camera, audio, input/output.

  • Java code is compiled into a special Dalvik binary format.

  • Versions and API Levels:

    • 1.0-1.1 (API 1,2) - Sep 2008

    • 1.5 (API 3) - Apr 2009, Cupcake

    • 1.6 (API 4) - Sep 2009, Donut

    • Continue listing notable versions, API levels, and release dates...

History of Android

  • Google acquired Android Inc. in 2005 to develop the Android Platform led by key players (Andy Rubin, Rich Miner, etc.).

  • Open Handset Alliance formed in 2007 to support the platform.

  • T-Mobile G1 launched in September 2008 as the first Android smartphone.

  • Android SDK released as open source under Apache’s license in October 2008.

Android Version History

/

/

Open Handset Alliance (OHA)

  • A consortium of 47 technology and mobile companies:

    • Accelerate mobile innovation and enhance consumer experience.

    • Developed Android as a complete, open mobile platform.

Android Studio

  • Google’s official IDE for Android - version 1.0 as of November 2014.

  • Replaces the previous Eclipse-based environment, based on IntelliJ IDEA.

Project Structure

  • AndroidManifest.xml: Overall project configuration and settings.

  • src/java/...: Source code for Java classes.

  • Resources Directory:

    • drawable/ = images

    • layout/ = GUI layout descriptions

    • menu/ = overall app menu options

    • values/ = constant values and arrays.

  • Gradle: A build/compile management system.