Baignade lets you choose which port you want to follow and it will create a modern graph showing the past, current and next few tides for this specific location as well as the tide coefficient and the water temperature (in degrees of course XD).
Baignade (a swim in french) uses data provided by the French Naval Hydrographic and Oceanographic Service (Service Hydrographique et Océanographique de la Marine), the SHOM in short.
The SHOM provides a wide range of ports, so big that we can't visualize them all without crashing your 4G ram device XD. So when trying to select a location on the map, don't get scared if you can't select anything, the ports are showing at your location only once you stopped zooming or scrolling for more than 2 seconds.
This project is configured with Android Studio
Android AppWidgets don't seem to support a lot of views, the list is available here. Moreover, the Button View seems ugly looking. So what could I use to make a modern graph with such limitations ? The answer is ImageView. This view can't have styling issues because the only thing it shows is the provided image. Then you might ask how I draw my modern graph to a Bitmap image. The answer is I don't! I'm using the Material-Graph-Library which provides custom views for displaying graphs : I fill the view with the data, layout it and draw it to a bitmap ! PS: Nevertheless, I had to customize the drawing implementation of Material-Graph-Library to fit the needs of the widget.
Baignade is delivered as it is under the well known MIT License.
References that helped
- android documentation : https://developer.android.com/
- Guide for building an android App Widget : https://developer.android.com/guide/topics/appwidgets
- Material-Graph-Library from Velli20 : https://github.com/Velli20/Material-Graph-Library
- roller-coaster-builder from susanmclain : https://github.com/susanmclain/roller-coaster-builder
- apiMareeInfo from saniho : https://github.com/saniho/apiMareeInfo