Curriculum

Mobile App
Development

Mobile App Development

About the Program

Imagine you have an app idea that allows people to list and rent vehicles on an hourly basis. For instance, professionals who don’t need their cars during work hours can list them on the app for nearby users to rent for short trips. Your app would not only give vehicle owners an additional income stream but also provide a flexible and convenient transportation option for users in the area. This Mobile App Development course is crafted to help you turn this idea into reality, teaching you everything from building a user-friendly interface to setting up secure, real-time data management systems

This course will guide you through every step required to develop a fully functional Android app from scratch. Using Java for backend logic, XML for front-end UI design, and Firebase for data storage, you’ll learn to create a mobile app where users can list, browse, and rent vehicles.

Requirements

At least a core i5 computer, 8GB RAM. Prior programming experience isn't required.

Student to Teacher Ratio of 10:1
Web Development

Curriculum

  1. Setting up Android Studio for app development
  2. Exploring Android project components: activities, fragments, layouts, and how they relate to our rental app idea
  3. Planning the app architecture: a smooth UI for listing cars, booking functionality, and real-time notifications
    • Java Basics
      • Java syntax and data types
      • Variables, operators, and expressions
      • Control structures (loops, conditionals)
    • Object-Oriented Programming (OOP)
      • Classes and objects
      • Inheritance, polymorphism, and encapsulation
      • Interfaces and abstract classes
    • Data Structures
      • Arrays and ArrayLists
      • HashMaps and Sets
    • Exception Handling
      • Try-catch blocks
      • Custom exceptions for error handling
    • File Management and JSON Parsing
      • Reading and writing files
      • Parsing JSON data for app integration
    • Asynchronous Programming
      • Multithreading with AsyncTask and Executors
      • Managing background tasks for responsive apps
    • Debugging and Testing
      • Debugging tools and techniques
      • Unit testing for reliability
    • Code Optimization
      • Memory management and performance tuning
  1. Designing dynamic and responsive UI layouts in XML
  2. Building UI elements for user registration, car listing forms, car browsing, and booking confirmation pages
  3. Creating consistent and intuitive navigation for users to easily browse and book vehicles
  1. Understanding the Android activity lifecycle to manage user interactions
  2. Implementing navigation patterns like bottom navigation for browsing, booking history, and profile management
  3. Passing data between screens, such as showing a car's details from the browse screen to the booking page
  1. Setting up Firebase Authentication for secure user login and registration
  2. Storing user, car, and booking data using Firebase Firestore
  3. Enabling Firebase Storage for users to upload and view car images in listings
  1. Introduction to RESTful APIs and HTTP requests
  2. Using Google Maps API to show car locations and direct users to available vehicles
  3. Fetching and displaying real-time data, like car availability and location, within the app
  1. Using SQLite and Room Database for offline data management, allowing users to browse saved listings offline
  2. Implementing shared preferences for saving lightweight data like user preferences or recent searches
  3. Syncing Firebase data with local storage for a seamless experience across sessions
  1. Utilizing GPS and geolocation to show nearby cars for rent
  2. Sending push notifications through Firebase Cloud Messaging (FCM) to alert users of new listings or booking updates
  3. Implementing background services to update car availability based on the listing and booking actions
  1. Finalizing the app for Google Play with code cleanup, app icons, and permission configurations
  2. Signing APKs and generating a signed app bundle to publish on Google Play
  3. Releasing app updates and managing user feedback to improve the app experience


Program Expectations

By the end of this course, here’s what you’ll be able to achieve:

  • Build Functional Android Apps: Develop end-to-end Android applications, from UI design to backend data management.
  • Manage User Authentication and Real-Time Data Storage: Use Firebase to build secure login systems, store user data, and enable real-time updates.
  • Create Responsive and Engaging UIs: Design intuitive layouts in XML for a seamless user experience.
  • Work with APIs and External Data Sources: Fetch, parse, and display data from external sources for a rich user experience.
  • Deploy Your App on Google Play: Package, sign, and publish your app on the Google Play Store.
Scroll