Android application to save football match history and show detailed statistics
Android application to save football match history and show detailed statistics. User can track the progress by observing and comparing scores from played games.
Application was created with a special attention to modern design and ergonomic interface. To achieve our goal we used tools like RecyclerView, ViewPager, NavigationView, ScrollView, CardView, AlertDialog and many more! Activities, fragments and communication between them - everything can be found in our code. We did not forget about landscape view, application will adjust its design to the current orientation (we did it programatically instead of creating new xml files). Besides English language we also implemented French version of the application - to switch the version you should change current language of your phone.
Here are the main functionalities we implemented:
We also identified possible improvements / features to do:
Our application is able to automatically locate the matches. After giving the permission to use the sensor, app will get the current location, then using geocoding, longitude and latitude will be transformed into a street and city name and saved to match stats.
While adding a new game you can take a photo of the match with the camera. Photo will be saved locally and will be private (accessible only from application level). After unistalling/reinstalling all the pictures are lost! Thumbnail of the picture is visible in the main activity. Remember that this feature requires permissions as well.
Whole match history with statistics is saved in external MySQL database. To connect to database we decided to use JDBC driver. Database design is simple and consists of only one table with many rows to store information about all the stats (~30 columns). Connection with external database is made to obtain match history with the stats, after adding new game or deleting existing game.
Last 5 matches played and their stats are saved locally in SQLite database. Connection with local database is made just after application startup, after adding new game or after deleting one of 5 recent games. Local database allows us to provide better user experience, because matches are visible on the screen just after starting the app. When the user touches the screen, more games are loaded from external database.
This is a simplified schema of our app architecture. Layouts were omitted.
Main screen (portrait) 1) | Navigation drawer 2) | Add game screen 3) |
---|---|---|
Main screen (landscape) 1) | Match display (landscape) 4) |
---|---|
Match display 4) | Statistics screen 5) | Rename team alert 6) |
---|---|---|
User is able to scroll through match history. Recycler view in potrait mode has only one column. After clicking on the item detailed stats of this game will be displayed. User can also toggle navigation drawer from here or add a new game by clicking on the floating button. In case of no matches to browse, there is a notification in the background.
This allows user to access quickly most of the functionalities of the app, for example adding new game or renaming the team. User can also verify his current team name and email (login and edit match features not implemented yet)
This screen consists mostly of empty editable text fields. At the top there is current location and date (user cannot change it) and there are rest of the paramaters that can be modified by user (in case of empty field 0 will be assigned). To see all the parameters (and “add game” button) screen can be scrolled down.
At the top there is scoreboard with score and names of teams. Lower part consists of all the stats taken into account. Small green arrow means that home team was better in particular category (red arrow opposite). If the dimensions of the screen are too small to show entire view, user will be able to scroll through the stats. On the bottom we places the date and location of the match.
Layout is similar to the match display. However, at the top we have 3 tabs with average, best and worst stats based on played matches. Statistics are shown for both home and away teams. Green and red arrows have the same meaning as in match display.
This simple dialog window allows user to type new team name. Maximum number of characters is set to 16 and for too long names user will be able to see the red borders as a warning. Only valid names are accepted.
PUDEŁKO Radosław
ZAHRAN Noha