Skip to content

Carleslc/cifo_flutter_weather_example

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

weather_example

Repositori d'aplicacions: cifo_flutter

Aplicació d'exemple per aprendre a utilitzar APIs externes amb Flutter i com accedir a la ubicació de l'usuari.

S'utilitza l'API 7timer per obtenir informació meteorològica.

La previsió meteorològica per les pròximes hores i dies es mostra en una llista amb diferents icones utilitzant la llibreria weather_icons.

Per cada dia es mostra també la sortida i posta de sol, utilitzant l'API Sunrise Sunset.

Es pot pulsar sobre la icona del temps d'una hora determinada per obtenir més informació com l'estat del vent en km/h o la pluja en mm/h, en cas de que siguin rellevants.

La ubicació de la previsió s'obté del dispositiu mitjançant la llibreria geolocator utilitzant coordenades latitud i longitud, i també es mostra el nom de la ciutat utilitzant reverse geocoding amb la llibreria geocoding.

Codi original: https://github.com/poqueque/cifo_2024s2_app_weather/

Open in IDX

Instal·lació

  1. S'ha d'haver instal·lat el Flutter SDK.

  2. Clonar el repositori:

git pull https://github.com/Carleslc/cifo_flutter_weather_example.git
# GitHub CLI: gh repo clone Carleslc/cifo_flutter_weather_example

cd cifo_flutter_weather_example
  1. Instal·lar les dependències:
flutter pub get
  1. Executar l'aplicació amb flutter run o desde l'IDE.

Estructura de l'aplicació

lib
├── main.dart
├── models
│   ├── meteo.dart
│   ├── sunrise_sunset.dart
│   └── weather.dart
├── screens
│   └── weather_screen.dart
├── services
│   ├── location_service.dart
│   ├── sun_service.dart
│   └── weather_service.dart
├── utils
│   └── date_utils.dart
└── widgets
    ├── error_message.dart
    ├── forecast_day.dart
    ├── forecast_list.dart
    ├── forecast_location.dart
    └── sun_widget.dart

L'inici de l'aplicació és a main.dart.

A models hi ha els models de dades com las clases Meteo i SunriseSunset que s'han generat amb l'ajuda de la web quicktype.

A screens està el codi de la pantalla WeatherScreen.

A services hi ha els serveis que obtenen les dades de les APIs externes (WeatherService i SunService) i de la ubicació del dispositiu (LocationService).

A widgets es troben els widgets propis que no corresponen a una pantalla determinada, com ForecastLocation que mostra el nom de la ciutat de la ubicació actual, ForecastList que obté les dades meteorològiques i mostra la llista de dies utilitzant el widget ForecastDay, que obté les dades de la sortida i posta de sol (SunWidget) i mostra la previsió de les hores del dia corresponent.

A utils hi ha una extensió per formatejar les dates i hores.

Imatges

weather_example_1.png

Recursos

Docs

Llibreries externes

About

Aplicació d'exemple per aprendre a utilitzar APIs externes amb Flutter.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors