Mobile App Development (BIT479CO)
Mobile application development on Android — UI layouts, activity lifecycles, intents, SQLite databases, REST API consumption, location services, and Google Play Store deployment.
Unit 1: Introduction to Mobile Devices & Architectures5 hrs
- History of mobile devices and mobile computing evolution
- Modern mobile operating systems: Android, iOS architecture comparison
- Hardware architecture of smartphones: SoC, ARM processors, power constraints, sensors, and wireless radios
Unit 2: Mobile Platforms & Wireless Communication Constraints4 hrs
- Wireless network standards: Wi-Fi, Bluetooth BLE, Cellular (3G/4G/5G)
- Mobile communication constraints: intermittent connectivity, latency, battery consumption, and bandwidth throttling
- Offline-first mobile application design principles and data synchronization strategies
Unit 3: Introduction to Android Platform5 hrs
- Android OS architecture: Linux Kernel, Hardware Abstraction Layer (HAL), Android Runtime (ART/Dalvik), Native C/C++ libraries, and Application Framework
- Android development tooling: Android Studio, Gradle build system, Android SDK, and ADB
- Android Project Anatomy: AndroidManifest.xml, java/kotlin sources, res directory, and Gradle scripts
Unit 4: Android Application Design Essentials6 hrs
- UI layout components: LinearLayout, RelativeLayout, ConstraintLayout, and FrameLayout
- Core UI widgets: TextView, EditText, Button, ImageView, CheckBox, RadioButton, and Spinner
- Lists and dynamic collections: RecyclerView, LayoutManagers, ViewHolders, and Custom Adapters
- Material Design components, themes, styles, and responsive layout guidelines
Unit 5: Writing Basic Applications & Core Components6 hrs
- Android core components: Activity, Service, BroadcastReceiver, ContentProvider
- Activity lifecycle: onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy()
- Intents and Intent Filters: Explicit vs Implicit Intents, passing bundle data, starting activities for results
- Fragments: lifecycle, fragment manager, and tablet/phone adaptive layouts
Unit 6: Data Handling in Android6 hrs
- Internal and external file storage
- SharedPreferences for key-value settings storage
- Local structured databases: SQLite database helpers and Android Room ORM library
- Content Providers: sharing data between applications and querying system contacts/media
Unit 7: Developing Real-Time Applications & Networking6 hrs
- Background processing: Threads, Coroutines, WorkManager, and Services
- Consuming RESTful APIs using HTTP libraries (Retrofit, OkHttp, Volley) and JSON parsing
- Telephony and SMS APIs in Android
- Push notifications using Firebase Cloud Messaging (FCM)
Unit 8: Debugging, Testing & Deployment4 hrs
- Android debugging with Logcat, breakpoints, and Android Profiler (CPU, Memory, Network)
- Unit testing with JUnit and UI testing with Espresso
- Generating signed APKs and Android App Bundles (AAB)
- Google Play Store publishing guidelines, permissions, and app privacy compliance
Unit 9: Recent Concepts & Advanced Android APIs3 hrs
- Location-based services: Google Maps API, Fused Location Provider, geofencing
- On-device machine learning with Google ML Kit
- App monetization models: in-app purchases, Google AdMob banner/interstitial ads, and subscriptions
Reference books
- Phillips, Bill, Chris Stewart, and Kristin Marsicano, Android Programming: The Big Nerd Ranch Guide (4th ed.), Big Nerd Ranch Guides.
- Talukder, Asoke K. and Roopa R. Yavagal, Mobile Computing: Technology, Applications, and Service Creation, McGraw-Hill Communications Engineering.
- Collins, Charlie, Michael Galpin, and Matthias Kaeppler, Android in Practice, Manning Publications.
- Smyth, Neil, Android Studio Development Essentials, Payload Media.