Il pacchetto camera è la soluzione ufficiale del team Flutter per accedere al sensore fotografico del dispositivo e mostrare un'anteprima live direttamente nell'albero dei widget. A differenza di image_picker, che delega lo scatto all'app fotocamera di sistema, con camera costruisci la tua interfaccia: overlay personalizzati, controlli di flash e zoom, scatto con un tocco, switch tra camera frontale e posteriore.
In questo tutorial costruiremo passo dopo passo una schermata fotocamera completa e robusta. Vedremo in particolare:
- la configurazione dei permessi su Android e iOS;
- l'inizializzazione asincrona del
CameraControllere la gestione degli errori; - la corretta gestione del ciclo di vita (fondamentale: se non rilasci la camera quando l'app va in background rischi crash e blocchi del sensore);
- scatto, salvataggio del file in una directory persistente e anteprima del risultato;
- controlli avanzati: flash, zoom con pinch, messa a fuoco a tocco.
Prerequisiti: conoscenza di
StatefulWidget,Future/asynce del pacchettopath_provider. Serve un dispositivo fisico: gli emulatori offrono una camera simulata poco affidabile, e il simulatore iOS non ha fotocamera.