01. Introduction

Mobility

Mobile-first software design:

Mobile is a platform:

A “platform” is a system that can be programmed and therefore customized by outside developers—users—and in that way, adapted to countless needs and niches that the platform’s original developers could not have possibly contemplated, much less had time to accommodate.

Marc Andreeson

Cultural trends:

Android vs iOS:

The course

First term (6 weeks) - basics of Android required to build any app.

Second term: location, camera, sensors etc.

Assignment 1: 30%, due 5pm 24 August. Individual assignment.

Assignment 2: 30%, due 5pm 19 October. Group assignment (3 people).

Final exam: 40%.

Not covering cross-platform languages/frameworks: will always lag behind what the native implementations can offer.

Introduction to Android

Android is a software stack for mobile devices, including:

Linux is used to provide core system services:

Android versioning:

Android Project Structure

manifests/AndroidManifest.xml:

Source code:

Resource file:

Gradle:

Android Runtime (ART, formerly Dalvik VM):

Boxing:

Packaging:

Android Debug Bridge (adb):