Basically this is a android scrapper with a server-like sevice running in a seperate process as a Service 24/7, which rescrapes in a repeating pattern accoring to the time set. Easily the most complex app that I build and uses most of the Android Components in one way or another.
Below I have given a list of everything that was used to build this project.
- Joda-Time Android - Replacement for the Java date and time classes.
- JSOUP - Java library for parsing with real-world HTML.
- GSON - Java library that can be used to convert Java Objects into their JSON representation.
- Stetho - Sophisticated debug bridge for Android applications.
- Apache Commons IO - Library contains utility classes, stream implementations, file filters, file comparators, endian transformation classes, and much more.
- Butter Knife - View Injection Library
- EventBus - Publish/Subscribe event bus optimized for Android.
- MultiProcessPreference - Allow use of shared preferences between a different processes of same app.
- Crashlytics - Crash reporting solution.
- Architecture Patterns - Model-View-Presenter
- Creational design patterns - Builder, Singleton, Abstract, Factory Method, Object Pool
- Structural design patterns - Adapter, Private Class Data, Facade, Bridge
- Behavioral design patterns - Chain of responsibility, Null Object, Observer, Mediator
- Service, IInterface(AIDL), Notification, IBinder
- AlarmManager, PendingIntent
- BroadcastReceiver
- MultiProcesses (android:process)
- SQLiteOpenHelper
- PackageManager
- FileProvider
- Views - RecyclerView, DrawerLayout, NavigationView, CardView, Toolbar, Spinner, TextInputLayout, CoordinatorLayout, ViewPager, ScrollView
- SquareFrameLayout - View that maintains a constant 1:1 ratio
- NonScrollableViewPager - ViewPager that has option to make it non-scrollable.
This project is licensed under the MIT License - see the LICENSE.md file for details
This project is uploaded as a demo to showcase various components and patterns and is in no way intended as a tutorial.
- Hat tip to anyone who's code was used
- Inspiration
- etc