Unit 1: Introduction to Android
1. Introduction to Android
Definition of Android OS.
Features of Android (open-source, customizable, multi-tasking, etc.).
Android versions & API levels (Cupcake to latest).
2. History of Mobile Software Development
Evolution from feature phones to smartphones.
Mobile OS Timeline: Symbian → Windows Mobile → iOS → Android.
Rise of app-based ecosystems.
3. The Open Handset Alliance (OHA)
Consortium led by Google.
Includes hardware manufacturers, software developers, and carriers.
Goal: Open standards for mobile devices.
4. The Android Platform
Based on Linux kernel.
Architecture: Linux Kernel, Libraries & Android Runtime (ART), Application Framework,
Applications.
Components: Activity, Service, Content Provider, Broadcast Receiver.
5. Android SDK (Software Development Kit)
Tools: Android Studio, Emulator, adb (Android Debug Bridge).
SDK components: API Libraries, Tools, Platform Tools, Build Tools.
6. Building a Sample Android Application
Steps:
1. Create a new project in Android Studio.
2. Design UI using XML.
3. Write code in Java/Kotlin.
4. Run on Emulator or physical device.
Simple “Hello World” app.
7. Anatomy of Android Applications
Components: Activities, Services, Broadcast Receivers, Content Providers.
Supporting files: AndroidManifest.xml, resource files (res/), assets.
8. Android Terminologies
APK: Android Package
AVD: Android Virtual Device
Gradle: Build automation tool
API: Application Programming Interface
SDK: Software Development Kit
9. Core Android Components
Application Context: Global context for app lifecycle.
Activities: UI components.
Services: Background operations.
Intents: Messaging object to request an action.
10. Receiving and Broadcasting Intents
Implicit Intents: Call other apps (e.g., camera).
Explicit Intents: Call specific app components.
BroadcastReceiver: Respond to system/global events.
11. Android Manifest File
Essential configuration file.
Declares components, permissions, app details.
Sample entries: <activity>, <service>, <uses-permission>.
12. Using Intent Filters
Declares capability to handle specific intents.
Enables launching of apps through actions like SEND, VIEW.
13. Permissions
Required for accessing device features.
Declared in Manifest (INTERNET, CAMERA, etc.).
Runtime permissions (Android 6.0+).
14. Managing Application Resources
Organized in /res/ folder.
Types: drawable, layout, values, menu, raw.
Supports localization and screen densities.
15. Working with Different Types of Resources
Access using R class.
Example: R.layout.main_activity, R.string.app_name.
Use of getResources() and ContextCompat.