En aquest tema, aprendrem a construir una aplicació simple utilitzant Flutter, el framework de Google per al desenvolupament d'aplicacions mòbils. Flutter permet crear aplicacions nadiues per a Android i iOS amb una única base de codi. Aquest tutorial et guiarà pas a pas per crear una aplicació bàsica.
Objectius
- Configurar un projecte Flutter.
- Comprendre l'estructura d'un projecte Flutter.
- Crear una interfície d'usuari simple.
- Executar l'aplicació en un emulador o dispositiu físic.
Requisits Previs
- Coneixements bàsics de Dart.
- Entorn de desenvolupament configurat per a Flutter (veure el tema anterior).
- Configuració del Projecte Flutter
1.1. Crear un Nou Projecte Flutter
Obre el terminal i executa la següent comanda per crear un nou projecte Flutter:
Això crearà una nova carpeta anomenada my_first_app amb l'estructura bàsica d'un projecte Flutter.
1.2. Navegar al Directori del Projecte
Canvia al directori del projecte:
1.3. Obrir el Projecte en l'IDE
Obre el projecte en el teu IDE preferit (VS Code, Android Studio, etc.). Assegura't que tens els plugins de Flutter i Dart instal·lats.
- Estructura d'un Projecte Flutter
Un projecte Flutter típic té la següent estructura:
my_first_app/ ├── android/ ├── ios/ ├── lib/ │ └── main.dart ├── test/ ├── pubspec.yaml └── README.md
android/iios/: Contenen els fitxers específics per a les plataformes Android i iOS.lib/: Conté el codi Dart de l'aplicació. El fitxer principal ésmain.dart.test/: Conté els tests de l'aplicació.pubspec.yaml: Fitxer de configuració del projecte, on es defineixen les dependències.
- Crear una Interfície d'Usuari Simple
3.1. Editar el Fitxer main.dart
Obre el fitxer lib/main.dart i reemplaça el contingut amb el següent codi:
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key? key, required this.title}) : super(key: key);
final String title;
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
int _counter = 0;
void _incrementCounter() {
setState(() {
_counter++;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(
'You have pushed the button this many times:',
),
Text(
'$_counter',
style: Theme.of(context).textTheme.headline4,
),
],
),
),
floatingActionButton: FloatingActionButton(
onPressed: _incrementCounter,
tooltip: 'Increment',
child: Icon(Icons.add),
),
);
}
}3.2. Explicació del Codi
main(): La funció principal que executa l'aplicació.MyApp: Un widget sense estat que configura el tema i la pàgina inicial de l'aplicació.MyHomePage: Un widget amb estat que mostra un comptador i un botó per incrementar-lo._incrementCounter(): Una funció que incrementa el valor del comptador i actualitza la interfície d'usuari.
- Executar l'Aplicació
4.1. Executar en un Emulador
Assegura't que tens un emulador Android o iOS en funcionament. Després, executa la següent comanda al terminal:
4.2. Executar en un Dispositiu Físic
Connecta el teu dispositiu al teu ordinador i assegura't que el mode de desenvolupador està activat. Després, executa la mateixa comanda:
Exercici Pràctic
Exercici
Modifica l'aplicació per afegir un segon botó que decrementi el valor del comptador.
Solució
Afegeix el següent codi al widget Scaffold:
floatingActionButton: Row(
mainAxisAlignment: MainAxisAlignment.end,
children: <Widget>[
FloatingActionButton(
onPressed: _incrementCounter,
tooltip: 'Increment',
child: Icon(Icons.add),
),
SizedBox(width: 10),
FloatingActionButton(
onPressed: _decrementCounter,
tooltip: 'Decrement',
child: Icon(Icons.remove),
),
],
),I defineix la funció _decrementCounter:
Conclusió
En aquest tema, hem après a crear una aplicació simple amb Flutter, des de la configuració del projecte fins a la creació d'una interfície d'usuari bàsica. També hem vist com executar l'aplicació en un emulador o dispositiu físic. En el proper tema, explorarem com utilitzar Dart per al desenvolupament web.
Curs de Programació en Dart
Mòdul 1: Introducció a Dart
- Introducció a Dart
- Configuració de l'Entorn de Desenvolupament
- El Teu Primer Programa en Dart
- Sintaxi i Estructura Bàsica
Mòdul 2: Conceptes Bàsics de Dart
Mòdul 3: Col·leccions
Mòdul 4: Programació Orientada a Objectes en Dart
Mòdul 5: Funcionalitats Avançades de Dart
Mòdul 6: Gestió d'Errors i Depuració
Mòdul 7: Paquets i Biblioteques de Dart
Mòdul 8: Dart per a Web i Mòbil
- Introducció a Flutter
- Construcció d'una Aplicació Simple amb Flutter
- Dart per al Desenvolupament Web
