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.