[Kotlin] Introduction to Android Development

Date:     Updated:

Categories:

Tags:

📋 Here are the notes summarizing what I learned from the course!


Mobile Application Development: Introduction to Android Development

Learning Objectives

  1. Understand the Android platform and its key components.
  2. Discuss the differences between leading mobile operating systems.
  3. Explore the Android Development Environment and Architecture.
  4. Develop a basic Android application using Android Studio.
  5. Overview of Android Application Architecture.

Android Platform Overview

What is Android?

  • Android is an open-source software stack designed for a wide range of mobile devices, spearheaded by Google.
  • The platform includes a comprehensive set of API libraries that enable developers to create applications.
  • Andy Rubin, often recognized as the father of Android, founded Android Inc., which was acquired by Google in 2005. The first Android device, the T-Mobile G1, was launched in October 2008.
  • As an open-source platform, developers can create applications without the need for royalties or licensing fees.

Android Ecosystem Components

  1. A free, open-source operating system for mobile devices.
  2. An open-source development platform for applications.
  3. Devices that run Android operating systems and support applications developed for the platform.

Android Versions

  • The naming convention of Android versions started with desserts like Cupcake, Donut, etc., and transitioned to numerical naming from Android 10 onwards. The latest release mentioned is Android 12 on February 18, 2021.

Android Architecture

Software Stack

  • Linux Kernel: Contains essential hardware drivers (e.g., camera, display).
  • Hardware Abstraction Layer (HAL): Facilitates communication between the Android libraries and device-specific drivers.
  • Android Runtime (ART): Provides the core libraries and the runtime environment, replacing the older Dalvik VM.
  • Native C/C++ Libraries: Includes libraries like WebKit and OpenGL.
  • Java API Framework: Offers higher-level services to applications via Java classes.
  • Applications: Your applications are installed on this layer, operating independently of each other in the system.

Development Tools and Environment

  • Android Studio: The official Integrated Development Environment (IDE) for Android, based on IntelliJ IDEA.
  • SDK and JDK Requirements: Essential for developing Android applications.
  • Android Emulator: Simulates Android devices on your computer, crucial for testing and debugging applications.
  • Device Manager: Manages and configures Android Virtual Devices (AVDs) to emulate different device configurations.

Comparisons to Competitors

iOS vs. Android

  • iOS, developed by Apple, is a closed system in contrast to the open nature of Android. This openness allows Android users more flexibility in customizing their devices.

Application Development Fundamentals

  • Programming Languages: Android applications can be written in Java, Kotlin (the official language), and C++.
  • APK Files: Android applications are packaged into Android Package (APK) files, which contain all components of the application.
  • Activity and UI Design: Each Android app involves one or more activities; the UI is built using various views like buttons and text fields.

References




Back to Top

See other articles in Category Kotlin

Leave a comment