Programmazione Android: Come utilizzare la Camera per scattare una foto

Emanuele Cisotti
Emanuele Cisotti Tech Master
Programmazione Android: Come utilizzare la Camera per scattare una foto

In questo tutorial voglio farvi vedere come fare ad avere accesso alla Camera messa a disposizione del vostro device e come poter con questa scattare una foto. Il tutorial si concentra sulle funzionalità base messe a disposizione da android, vuole solo essere un trampolino di lancio, lasciando allo sviluppatore ulteriori accorgimenti per arricchire e migliorare la propria app.

Per iniziare avremo bisogno di una SurfaceView ed una interfaccia SurfaceHolder. Vediamo brevemente di cosa si tratta.
Una SurfaceView, come dice il nome, è una particolare View che permette di disegnare sul display elementi grafici, nel nostro caso la preview proveniente dalla camera. SurfaceHolder è un'interfaccia che ci permette di gestire la SurfaceView, mediante l'utilizzo di particolare operazioni (callback), che ci serviranno per capire quando la Surface verrà creata, quando subirà cambiamenti e quando verrà distrutta.
Utilizzeremo anche la classe Camera, che ci permette di interagire direttamente con il dispositivo hardware del device. La utilizzeremo per occupare la risorsa camera, per rilasciarla, per scattare una foto, per far partire la preview, per settare i parametri come autofocus, flash etc.

.. questi ultimi due avranno bisogno di un tutorial a parte che provvederò a fornire prossimamente.
Infine dovremo utilizzare un'ulteriore interfaccia Camera.PictureCallback per definire le operazioni da fare quando verrà scattata la foto.

La guida vera e propria la trovate su AndDev.it con il relativo codice ;)