Course Content
M1
Introduction to Android Development
16 hrs
Theory
- Overview & Android Architecture
- Setting up Android Studio, Kotlin Basics
- Creating First Android Project
Practice Experiments
- 1.1: Set up Android Studio and create a new project
- 1.2: Write a Kotlin program to print "Hello, World!"
- 1.3: Implement basic arithmetic operations in Kotlin
- 1.4: Create a simple Android app with a single activity
- 1.5: Design a user interface using XML layout
- 1.6: Implement basic navigation between activities
- 1.7: Demonstrate the use of Kotlin data types and variables
- 1.8: Implement a simple calculator app in Android
M2
Android App Components
16 hrs
Theory
- Activities, Fragments, Services
- Broadcast Receivers, Content Providers
- Intents, Activity Lifecycle
Practice Experiments
- 2.1: Implement an activity lifecycle in Android
- 2.2: Create and use fragments in an Android app
- 2.3: Implement a service to run in the background
- 2.4: Use broadcast receivers to receive system events
- 2.5: Implement content providers to share data between apps
- 2.6: Use intents to navigate between activities
- 2.7: Implement pending intents for notifications
- 2.8: Demonstrate the use of shared preferences
M3
User Interface Design
16 hrs
Theory
- Layouts: Linear, Relative, Constraint, Frame
- UI Components: TextView, EditText, Button, ImageView, RecyclerView
- Material Design Principles
Practice Experiments
- 3.1: Design a user interface using ConstraintLayout
- 3.2: Implement a RecyclerView to display a list of items
- 3.3: Create custom views and view groups
- 3.4: Implement material design components in Android
- 3.5: Use themes and styles to customize the UI
- 3.6: Implement user input controls (TextView, EditText, Button)
- 3.7: Create a form with input validation
- 3.8: Implement a navigation drawer for app navigation
M4
Data Storage
16 hrs
Theory
- Shared Preferences, Internal & External Storage
- SQLite Database, Room Persistence Library
- Content Providers
Practice Experiments
- 4.1: Implement SQLite database in an Android app
- 4.2: Use Room Persistence Library for data storage
- 4.3: Implement content providers for data sharing
- 4.4: Use shared preferences for simple data storage
- 4.5: Implement internal storage for file management
- 4.6: Implement external storage for file management
- 4.7: Use LiveData to observe data changes
- 4.8: Implement data binding in an Android app
M5
Network Communication
16 hrs
Theory
- HTTP Networking, RESTful APIs
- Retrofit, Volley Libraries
- JSON Parsing, Background Tasks with WorkManager
Practice Experiments
- 5.1: Implement HTTP networking using Retrofit
- 5.2: Implement HTTP networking using Volley
- 5.3: Parse JSON data from a web API
- 5.4: Implement background tasks using WorkManager
- 5.5: Use OkHttp for network communication
- 5.6: Implement WebSockets for real-time communication
- 5.7: Use Firebase Realtime Database for data synchronization
- 5.8: Implement RESTful API communication
M6
Advanced Topics
18 hrs
Theory
- Firebase Integration: Authentication, Realtime Database
- Google Play Services, Location APIs
- App Distribution, Google Play Store, App Signing
Practice Experiments
- 6.1: Implement Firebase Authentication in an Android app
- 6.2: Use Google Maps API for location-based services
- 6.3: Implement push notifications using Firebase Cloud Messaging
- 6.4: Integrate social media login (Facebook, Google)
- 6.5: Implement data synchronization with Firebase
- 6.6: Use ML Kit for image recognition
- 6.7: Implement in-app purchases in an Android app
- 6.8: Use Google Play Services for analytics
Project (28 hrs)
- Project 1: Develop a personal finance management app
- Project 2: Create a location-based reminder app
- Project 3: Develop a social media integration app

