Esta aplicación te permitirá obtener datos en tiempo real sobre el clima en diferentes ubicaciones.
Título: Tutorial de Flutter – Creación de una Aplicación de Clima
Objetivo: En este tutorial, aprenderemos a crear una aplicación de clima simple utilizando Flutter. Obtendremos datos de una API de pronóstico del tiempo y los mostraremos en la interfaz de usuario.
Nivel de Dificultad: Intermedio
Herramientas necesarias: Flutter instalado en tu sistema, un editor de código (como Visual Studio Code) y acceso a una API de pronóstico del tiempo (como OpenWeatherMap).
Paso 1: Configurar el entorno de desarrollo
Asegúrate de tener Flutter instalado en tu sistema siguiendo la documentación oficial de Flutter.
Paso 2: Crear un nuevo proyecto Flutter
Abre tu terminal y ejecuta los siguientes comandos para crear un nuevo proyecto Flutter:
flutter create weather_app cd weather_app
Paso 3: Obtener una API de pronóstico del tiempo
Regístrate en una plataforma de pronóstico del tiempo (por ejemplo, OpenWeatherMap) para obtener una API Key gratuita que te permitirá acceder a los datos del clima. Guarda esta API Key en un lugar seguro.
Paso 4: Diseñar la interfaz de usuario
En el archivo lib/main.dart
, reemplaza el código con el siguiente código que define la interfaz de usuario de nuestra aplicación de clima:
import 'package:flutter/material.dart'; import 'package:http/http.dart' as http; import 'dart:convert'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'Weather App', home: WeatherApp(), ); } } class WeatherApp extends StatefulWidget { @override _WeatherAppState createState() => _WeatherAppState(); } class _WeatherAppState extends State<WeatherApp> { final apiKey = 'YOUR_API_KEY_HERE'; // Reemplaza con tu API Key final cityController = TextEditingController(); var weatherData; Future<void> fetchWeatherData(String city) async { final url = Uri.parse( 'https://api.openweathermap.org/data/2.5/weather?q=$city&appid=$apiKey&units=metric'); final response = await http.get(url); if (response.statusCode == 200) { final jsonData = json.decode(response.body); setState(() { weatherData = jsonData; }); } else { throw Exception('No se pudo cargar el pronóstico del tiempo'); } } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('Weather App'), ), body: Column( children: [ Padding( padding: const EdgeInsets.all(16.0), child: TextField( controller: cityController, decoration: InputDecoration(labelText: 'Ciudad'), ), ), ElevatedButton( onPressed: () { final city = cityController.text.trim(); if (city.isNotEmpty) { fetchWeatherData(city); } }, child: Text('Obtener Clima'), ), if (weatherData != null) Expanded( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ Text( 'Ciudad: ${weatherData['name']}, ${weatherData['sys']['country']}', style: TextStyle(fontSize: 20), ), Text( 'Temperatura: ${weatherData['main']['temp']}°C', style: TextStyle(fontSize: 20), ), Text( 'Clima: ${weatherData['weather'][0]['description']}', style: TextStyle(fontSize: 20), ), ], ), ), ], ), ); } }
Paso 5: Ejecutar la aplicación
Ejecuta la aplicación en tu emulador o dispositivo físico utilizando el siguiente comando en la terminal:
flutter run
Paso 6: Prueba la aplicación
Abre la aplicación en tu dispositivo y prueba la funcionalidad de búsqueda del clima. La aplicación mostrará el nombre de la ciudad, la temperatura y el clima actual de la ubicación que ingreses.
Ingeniero en Informática, Investigador, me encanta crear cosas o arreglarlas y darles una nueva vida. Escritor y poeta. Más de 20 APPs publicadas y un libro en Amazon.