A sample Android Movie application showcasing DataBinding, MVVM + LiveData, RxJava3, Retrofit, Glide, and Paging architecture in Java.
Home (Popular Movies) |
Movie Details |
📌 screenshots app.
- Browse Popular, Top-Rated, and Trending movies
- Search movies by title
- Detailed movie pages including cast, reviews, trailers
- Favorite movies stored locally
- Paginated list using Paging library
- Image loading via Glide
- Responsive UI with DataBinding and LiveData
- Java + Android SDK
- MVVM pattern with LiveData / ViewModel
- DataBinding for seamless UI binding
- RxJava3 for reactive streams
- Networking: Retrofit + OkHttp
- UI image loading: Glide
- Paging for efficient list performance
- Optional local persistence using Room or SharedPreferences
-
Clone the repository:
git clone https://github.com/sonpxp/MovieApp.git
-
Open in Android Studio
-
Add your TMDB API Key in
gradle.properties
or your own config file -
Sync and build the project
-
Run on device/emulator
ui/
: Activities & Fragmentsviewmodel/
: LiveData ViewModelsrepository/
: Data handling via Retrofitmodel/
: Java data classesbinding/
: XML layouts with DataBindingutils/
: Common utilities and adapters
implementation 'androidx.lifecycle:lifecycle-viewmodel'
implementation 'androidx.lifecycle:lifecycle-livedata'
implementation 'com.google.code.gson:gson'
implementation 'io.reactivex.rxjava3:rxjava'
implementation 'com.squareup.retrofit2:retrofit'
implementation 'com.github.bumptech.glide:glide'
implementation 'androidx.paging:paging-runtime'
This project is a hands-on example for combining core Android Jetpack libraries and RxJava in Java, showing how to build a modern, scalable Movie app with clean architecture, pagination, and smooth UI.
Feel free to open issues or send pull requests. Some enhancement ideas:
- Add Room support to cache favorite movies
- Implement Hilt or Dagger for Dependency Injection
- Improve UI with Material Components
- Add unit and UI tests
This project is licensed under the MIT License. See the LICENSE file for details.
Developed by @sonpxp — open to collaborations on Android, MVVM, RxJava, and more.
Check out more of my work at github.com/sonpxp