B. Android App Development Basics

Cards (11)

  • Android Packages (APKs)

    Contains all the contents of an Android app
  • Android operating system
    • A multi-user Linux system in which each app is a different user
    • Each app is assigned a unique Linux user ID by the system
    • Each process has its own virtual machine so an app's code runs separately from other apps
    • Every app runs its own Linux process by default
  • Four types of App Components
    • Activity (represents a single screen with a user interface)
    • Service (runs in the background to perform long-running operations or work for remote processes)
    • Content Provider (manages a shared set of app data)
    • Broadcast Receiver (responds to system-wide broadcast announcements)
  • Four Phases of Application Workflow
    • Setup (install and setup IDE, create AVD, connect hardware)
    • Development (set up and develop Android project and application modules)
    • Building, Debugging, and Testing (build debug-able .apk, debug using tools, test using SDK tools)
    • Publishing (configure and build for release, distribute to users)
  • Android Development Tools (ADT)

    • Android SDK (contains necessary tools)
    • Android debug bridge (ADB) (client-server program to connect to virtual or real Android device)
    • Gradle and Android plug-in for Gradle (build toolkit, manages dependencies, custom build logic)
    • Android Developer Tools (ADT) Plugin (Eclipse IDE plugin)
    • Android Studio (official IDE for Android App development)
  • Android Runtime
    The managed runtime used by applications and some system services on Android
  • AVD Components
    • Hardware profile (defines hardware features)
    • Mapping to a system image (defines Android platform version)
    • Dedicated storage area (stores device's user data and emulated SD card)
    • Other options (emulator skin, emulated SD card)
  • Enabling Developer Options on an Android Device
    1. Go to Settings
    2. Choose About Phone or similar
    3. Tap Build Number seven (7) times
  • Android Project
    Contains everything that defines the Android app
  • Types of Application Project Modules
    • Android Application Module (contains app's source code, resource files, and application level settings)
    • Test Modules (contain code to test application project)
    • Library Module (holds shared Android sources and resources)
    • App Engine Module (allows implementation of functionality such as sending push notifications)
  • Android Project Files

    Provide project-wide settings that apply across ALL modules in an Android app project