Project 5: Android Kotlin Developer Udacity | Nanodegree
- The App Consumes https://www.themoviedb.org/ REST APIs to fetch upcoming movies and their details
The App is inspired by The Android Kotlin Developer Nanodegree Course on Udacity. It's the final project of the Five projects in the course. I Chose to develop a custom app, so I can build everything from scratch. It's been fun.
- The student will define their own project feature-set that meets criteria encompassing key areas of development skills covered within the nanodegree:
- Application Architecture
- UI and Layout
- API Connectivity and Data Persistence
- Hardware Integration
- User-based Functionality
![]() |
![]() |
![]() |
![]() |
---|
-
Kotlin is a programming language that makes coding concise, cross-platform, and fun. It is Google's preferred language for Android app development.
-
used to implement UI-related data
-
is a software architectural pattern that is commonly used in Android app development.
-
A type-safe HTTP client for Android and Java.
-
For data persistence
-
a dependency injection library for Android that reduces the boilerplate of doing manual dependency injection in your project
-
Repositories combine different data sources and solve any potential conflicts between the data sources to update the single source of truth regularly or due to a user input event
-
is a support library that allows you to bind UI components in your layouts to data sources in your app using a declarative format rather than programmatically.
-
a framework for navigating between 'destinations' within an Android application that provides a consistent API whether destinations are implemented as Fragments, Activities, or other components.
-
used for saving application settings, user preferences, or other small pieces of data that need to persist between app sessions.
-
lets you manage your UI's data in a lifecycle-aware fashion.
-
an observable data holder class. Unlike a regular observable, LiveData is lifecycle-aware, meaning it respects the lifecycle of other app components, such as activities, fragments, or services.
-
calculates the difference between two given lists, the old list that is currently displayed and the new that you have recently obtained.
-
Result sealed class for kotlin error handling, allowing us to write safe code either in a functional or imperative format, without the use of exceptions.
-
responsible for making the appropriate framework calls to set values
-
The recommended API for background processing WorkManager is the recommended solution for persistent work. Work is persistent when it remains scheduled through app restarts and system reboots.
-
MotionLayout is a layout type that helps you manage motion and widget animation in your app