Programming Mobile Devices
Birla Institute Of Technology And Science–Pilani (BITS–Pilani) via Coursera
Overview
Why Pay Per Course When You Can Get All of Coursera for 40% Off?
10,000+ courses, Google, IBM & Meta certificates, one annual plan at 40% off. Upgrade now.
Get Full Access
The course “Programming Mobile Devices” provides a comprehensive introduction to creating Android applications, guiding learners from foundational principles to advanced practices in mobile app development. In this course, you’ll be introduced to the essential tools and programming languages, such as Android Studio and Kotlin, that form the backbone of professional Android development. You’ll learn about designing user interfaces, managing data storage, incorporating interactive components, and optimising performance to create dynamic, user-friendly mobile experiences. This course covers a wide variety of topics in Android app development, including UI design with XML, data management with SQLite and Firebase, network connectivity, and location services with Google Maps integration, all of which are designed to give you an overview of what’s to come in this course.
By the end, students will possess a solid foundation in Android development, empowering them to build, test, and deploy engaging user-centered mobile applications.
Syllabus
- Course Introduction
- In this module, the learners will be introduced to the course and its syllabus, setting the foundation for their learning journey. The course's introductory video will provide them with insights into the valuable skills and knowledge they can expect to gain throughout the duration of this course. Additionally, the syllabus reading will comprehensively outline essential course components, including course values, assessment criteria, grading system, schedule, details of live sessions, and a recommended reading list that will enhance the learner’s understanding of the course concepts. Moreover, this module offers the learners the opportunity to connect with fellow learners as they participate in a discussion prompt designed to facilitate introductions and exchanges within the course community.
- Introduction to Mobile App Development
- This module introduces learners to software development for portable devices, focusing specifically on Android. It begins with an overview of portable devices, their applications, hardware considerations, and the software ecosystem. Learners will explore the components of mobile applications and the essential need for mobile apps in today's digital landscape. The module then shifts to Android-specific topics, covering its overview, version history, challenges in development, major platform components, and considerations for device compatibility. A case study on Android version popularity provides practical insights into real-world application.
- Debugging and User Interface
- This module focuses on Android application development fundamentals, starting with an overview of Kotlin as the primary programming language for Android. Learners will explore Android Studio, its interface, and the process of creating and running a new project. Practical aspects include developing and debugging Android applications, integrating with code repositories for version control, and understanding the stages of mobile app development. The module also covers essential Android views such as TextView, EditText, buttons, and ScrollView, emphasising their roles and implementations within Android applications.
- Building Layouts with XML, Activity and Intent in Android
- This module provides a comprehensive introduction to building Android applications, starting with the basics of constructing layouts using XML. Learners will explore various Android UI components and their functionalities, focusing on XML layout definitions such as Linear and Relative layouts. The module progresses to Activities and Intents, core concepts in Android development. It covers the lifecycle of activities, navigation between activities using explicit and implicit intents, managing activity states, and exchanging data between activities. Practical quizzes and readings reinforce understanding of these fundamental concepts.
- Fragments, User Interaction and Navigation in Android Development
- This module offers an in-depth exploration of advanced Android UI components and navigation mechanisms. It begins with fragments, a powerful tool for building dynamic and reusable interfaces. Learners will study the fragment lifecycle, how to create, manage, and replace fragments, as well as the techniques for communication between fragments. The module then shifts to user interaction, focusing on engaging UI elements such as clickable images, checkboxes, radio buttons, and menus. Finally, it introduces the Navigation Component, teaching students how to implement intuitive navigation systems, including back button handling and hierarchical navigation patterns. By the end of the module, learners will be equipped with the skills to build dynamic, interactive, and navigable Android applications.
- Data Management
- This module focuses on Fragments, User Interaction, and Navigation within Android applications. It begins with an exploration of Fragments, covering their definition, creation, lifecycle management, and communication between fragments and activities. Learners will engage with practical quizzes to reinforce their understanding of these concepts. The module then shifts to User Interaction, including handling clickable images, checkboxes, radio buttons, and menus in Android applications. Finally, it introduces the Navigation Component, explaining its purpose, implementation methods, and navigation patterns such as back button navigation and hierarchical structures. Readings complement the videos and quizzes, providing deeper insights into each topic.
- Networking and Web Services
- This module focuses on essential topics for developing network-connected Android applications. It begins with Networking Basics, covering permissions in the Android Manifest, and introduces HTTP fundamentals. Learners will explore managing network states and using the ConnectivityManager to ensure robust network connectivity. The module also includes practical quizzes and readings to reinforce understanding. Moving to Broadcasts and Services, the module explains Broadcasts, Broadcast Receivers, and the lifecycle of Android services. It concludes with Consuming RESTful APIs, covering Retrofit for HTTP requests, understanding RESTful APIs, and parsing JSON responses for data integration within Android applications.
- Location and Maps
- This module covers the essential aspects of working with location-based services and integrating Google Maps into Android applications. It begins by introducing Location Services, explaining how to retrieve and handle user location data using the FusedLocationProviderClient, a key tool for accurate location data acquisition. Learners will also explore the Google Maps API, learning how to display maps and customise map behaviour within Android apps. Finally, the module focuses on handling and displaying location data on maps, providing a hands-on approach to implementing location-based features. The module is rounded off with a live session to explore advanced use cases of location and map integration.
- Firebase Integration
- This module introduces learners to Firebase, a comprehensive platform for developing web and mobile applications, focusing on its integration with Android. The module begins by exploring Firebase’s core products, including the Firebase Realtime Database, where students will learn to add, retrieve, and manage data directly from both the Firebase console and Android applications. In the second part of the module, the focus shifts to Authentication and Cloud Storage. Learners will implement user authentication and use Firebase Cloud Messaging to manage push notifications. Additionally, students will handle image operations using Firebase Cloud Storage, integrating gallery selections and performing various cloud-based actions. This module provides a hands-on understanding of how Firebase enhances Android applications with real-time data, secure authentication, and cloud storage capabilities.
- Advanced Topics in Android Development
- This module focuses on optimising performance, background processing, and implementing security best practices in Android applications. It begins with an overview of Performance Optimisation, covering fundamental strategies and profiling techniques using tools to identify and resolve performance bottlenecks. The module includes quizzes and readings to reinforce understanding. Moving to Background Processing, it introduces techniques for executing tasks in the background, including Work Manager, Async Task, and Loaders. Practical quizzes and readings complement the videos. The module concludes with Security Best Practices, emphasising the importance of application security and implementing secure storage solutions. Quizzes and readings provide insights into foundational security concepts and practices.
- Publishing and Maintenance
- This module provides a comprehensive overview of Android application development and publishing processes. It covers essential topics from preparing and publishing apps on the Google Play Store to leveraging Jetpack for modern Android app development.
- Final Comprehensive Examination
Taught by
Chandra Shekar RK and A N K Prasannanjaneyulu