Skip to content

Latest commit

 

History

History
99 lines (62 loc) · 3.93 KB

README.md

File metadata and controls

99 lines (62 loc) · 3.93 KB

Advanced Android Development Techniques

A featurerich movie app built using the MVVM architecture and the Filimo API

ScreenShots

splash online offline
Home Home
Category Explore
SubCategory SubCategory
Detail Detail
Setting Setting

Key Features:

Dynamic Splash Screen: In online mode, data is fetched from the source and displayed in a custom RecyclerView with random content. In offline mode, a fallback splash screen is displayed.

Dynamic Carousel: Implemented with Material Design 3 Carousel to display movie slides dynamically.

Image Loading with Glide: Seamless image loading using the powerful Glide library. Customized image shapes with ShapeableImageView during the loading process.

Video Playback with Kohii: Videos are played within the RecyclerView using the Kohii library. Custom background integration for ExoPlayer for smoother video playback.

Day/Night Mode: Supports both light and dark themes, with appropriate styling adjustments using Material 3 components.

Auto Video Playback: As users scroll down, videos start playing automatically.

State Preservation: RecyclerView scroll state is preserved using RecyclerView extensions.

Nested RecyclerViews: Categories are displayed using nested RecyclerViews for an organized layout.

Image Corner Styling: Rounded image corners are achieved with EdgeTreatment for a polished UI.

Efficient Layouts: ViewStub is utilized instead of include for optimized layout inflation.

Themebased Tinting: Styles are applied dynamically to adjust tints for night and day modes.

Custom Views & Components: Includes custom views for enhanced flexibility.

Dependency Injection with Hilt: Simplified dependency management using Hilt.

Coroutines for Multithreading: Efficient thread management and CPU task handling via Kotlin Coroutines.

LiveData for ViewBinding: Reactive programming with LiveData for realtime updates.

Theme Persistence: DataStore is used to save theme preferences (day/night).

...and much more! Video

IMAGE ALT TEXT HERE

Support

If you found this project helpful, you can support me and the project by giving it a star or making a donation.