Midterm Exam is for Android course Students of KBTU Spring 2023-2024
Use git clone command to fetch the project.
git clone https://github.com/estharossa/aviatickets.git
This project simulates an application for selling air tickets. The application has only one page for issuing tickets.
All necessary libraries are already registered in the build.gradle file.
Offer - class which holds an information about air ticket, including departure/arrival location, time, airline, duration and etc.
ApiClient - a Retrofit based http client. Use it for your network requests.
- Offer list is taken from
FakeService
object, which is actually a list of hardcodedOffer
objects. Add a GET request using Retrofit to fetch offer list from here - Offer list is displayed using Recycler View, but it uses not optimized method
notifyDataSetChanged()
. Add Diff.Util implementation for the recycler view and get rid of the "setItems" method - Add a functionality to sort offer list by price and duration. UI is already done for you using radio buttons, include only sorting logic and updating UI.
Bonus Task: add images of all airlines using Glide. There is already an ImageView for you.
- Make your repository private and include estharossa as a collaborator
- Submit the form