Introduction - Lecture 1
Types of Application
Native App - Created for a specific platform or OS.
Web App - Created to only run on a browser.
Hybrid App - A mix between Native and Web app, that runs on native code and will have all other attributes associated with an application.
Android API

Android API (Application Programming Interface)
- Set of software tools and resources provided by Google
- Enables developers to build applications for Android devices
The Android API consists of multiple layers:
- Application Framework - User interfaces, data storage, system resources, notifications, location services, multimedia playback.
- Android Runtime - Core libraries and the Dalvik Virtual Machine (DVM) or ART (Android Runtime) that executes the compiled code of Android applications.
- Libraries: Graphics rendering, database access, networking, encryption, Firebase, Google Play Services.
- Native Development Kit (NDK): Allows writing parts of applications in native languages (C, C++).
- Hardware Abstraction Layer (HAL): Interface between Android framework and hardware.
Using the latest version has issues:
- Limited phone access
- Library compatibility