Lecture 2: API Levels in Android
Application Development
Understanding Compatibility and Platform Features
What is an API?
• API = Application Programming Interface
• A set of rules that allows software components to
communicate
• In Android, it provides access to system services,
hardware, UI, etc.
• Like a menu: you request, system responds—you don’t
need to know internal details
Now Can you answer this
questions??
• Define API in the context of Android
development?
• What is the purpose of minSdkVersion,
targetSdkVersion, and compileSdkVersion in an
Android app?
• Mention any two reasons why APIs are crucial in
Android development.
• What is an API Level in Android?
Why is API Crucial in Android?
• Ensures compatibility across Android versions
• Provides access to device features securely (camera, GPS, etc.)
• Speeds up development with reusable components
• Enables updates and new features with newer API levels
• Allows structured and secure communication between app and OS
What is an API Level?
• An API Level is an integer that identifies the
framework API revision.
• Each Android version corresponds to a
specific API Level.
• Helps manage app compatibility with
Android OS versions.
Android Versions and API Levels
• Android 14 - API Level 34 (Upside Down Cake)
• Android 13 - API Level 33 (Tiramisu)
• Android 12 - API Level 31 (Snow Cone)
• Android 11 - API Level 30 (Red Velvet Cake)
• Android 10 - API Level 29 (Q)
<uses-sdk
android:minSdkVersion="21"
Manifest
Declarations
android:targetSdkVersion="34"
android:compileSdkVersion="34" />
• minSdkVersion: Minimum API Level to
run app
• targetSdkVersion: API Level app is tested
against
• compileSdkVersion: API Level used to
compile the app
Best Practices with API Levels
• Use Jetpack libraries for compatibility
• Test on multiple API levels
• Follow Android behavior change guidelines
• Declare proper min/target/compile SDK versions
Understanding the App Idea
• Define the app’s purpose and target users
• Identify the core features and functionalities
• Create user flow diagrams to understand screen
transitions
• Example: Login → Home → Details → Cart → Checkout
MoSCoW
Designing the User Interface (UI)
• Follow Material Design guidelines for Android
• Include UI elements: buttons, fields, images, menus
• Use responsive layouts (e.g., ConstraintLayout)
• Ensure accessibility and intuitive navigation
What are Wireframes?
• Wireframes are visual blueprints of app screens
• Show layout and structure without colors or final UI
• Types: Low-fidelity (sketches), High-fidelity (digital)
• Tools: Figma, Adobe XD, Balsamiq, or paper
• [Login Screen] → [Home
Screen] → [Search Page] →
[Product Details] → [Cart]
→ [Payment Screen]
Wireframe
Flow
• • Each screen has basic
Example placeholders for UI
elements
• • Helps visualize navigation
and structure before coding
Benefits of Wireframes
• Clarify app layout and navigation early
• Identify and fix design issues quickly
• Improve communication between teams
• Saves time and resources during development
Summary
• Understand the app’s purpose and user needs
• Design UI with consistency and responsiveness
• Create wireframes to plan layout and flow
• Use wireframes for better collaboration and clarity