This is a demo source code version of my complete application which will be available on Google Play Store soon.
Review and apply Android programming techniques such as Dagger, DbFlow, OkHttp, Retrofit, RxJava, RxAndroid, MVP Architecture and Clean Architecture in order to build a native mobile app which allows users to do some interesting tasks in finding trending movies or nearby theaters.
If you are a developer and want to explore code, follow the Android simulator steps. If you just want to have a glance of this application, follow instructions in Android device
- Android Studio version 3.2.1 and up
- JDK version 8 and up
Firstly, clone this repository and open it in Android Studio.
This app uses The MovieDB API and Google Map API. Register and grab your API keys, then paste them inside: .../app/src/main/res/values/api_key.xml
.
Then start building code and run it on an Android simulator.
Download and copy FilmSeeker.apk into your Android device, then install application and explore interesting features.
A few of things Film Seeker - Demo application can do:
- Find trending movies
- Search for list of similar movies to a particular film
- Find top rated movies
- Find nearby movie theaters
- View detail information of a particular movie
This mobile application uses following open source libraries:
- Dagger version 2.15
- DBFlow version 4.2.4
- OkHttp version 3.9.1
- Retrofit version 2.4.0
- RxJava version 2.2.5
- RxAndroid version 2.1.0
This mobile application uses following API:
This mobile application applies these architectures:
Thien, Nguyen Hoang - mobile developer (Android)
Copyright 2019 Thien Nguyen
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.