¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. Flutter
  3. API
Extrait - Flutter Desarrolle sus aplicaciones móviles multiplataforma con Dart
Extractos del libro
Flutter Desarrolle sus aplicaciones móviles multiplataforma con Dart Volver a la página de compra del libro

API

Introducción

Dependiendo de los proyectos de la aplicación, en ocasiones es útil recurrir al hardware del dispositivo.

Normalmente, las dos herramientas más útiles siguen siendo la cámara y el GPS. Estos elementos no son directamente accesibles. Por tanto, es fundamental el uso de dependencias que faciliten su implementación.

En este capítulo, se dan dos ejemplos concretos de cómo utilizar la cámara y el GPS.

Por último, se actualizan los paquetes disponibles en la actualidad que complementan esta oferta, para poder acceder a otras funcionalidades como el giroscopio, el acelerómetro, la batería, etc.

Cámara de fotos

El uso de la cámara no está directamente integrado en el SDK. Es necesario utilizar un paquete especialmente dedicado a esta tarea. Hay varios, pero el equipo de Flutter ha desarrollado el más fiable hasta la fecha. Se trata de image picker. Este paquete tiene una doble función, ya que le permite hacer fotografías y, por lo tanto, utilizar el hardware, pero también puede leer archivos de imagen presentes en el teléfono.

Hasta la fecha, tiene la puntuación máxima de 100.

Aquí está la URL para acceder: https://pub.dev/packages/image_picker

1. Instalación del paquete

El primer paso es, como siempre, modificar el archivo pubspec.yaml en dependencies

image_picker: ^0.6.4 

Tenga cuidado, no olvide hacer clic en Packages get para recuperar esta dependencia y poder usarla más tarde.

2. Actualización de los permisos

Anteriormente, hablamos muy brevemente sobre permisos. Se gestionan en archivos específicos para cada SO. Para Android, el archivo AndroidManifest.xml desempeña este papel, mientras que en iOS, el archivo se llama Info.plist.

Aquí está la ubicación de estos archivos:

  • AndroidManifest.xml:

    Raíz del proyecto -> android -> app -> src -> main

  • Info.plist:

    Raíz del proyecto -> ios -> Runner

Cuando se usa el paquete image_picker, no hay permisos a añadir para Android. Por otro lado, para iOS, se deberán implementar. Esto es lo que se añade a Info.plist:

<dict> 
   <key>NSPhotoLibraryUsageDescription</key> 
   <string>Utilización de la librería de fotos</string> 
   <key>NSCameraUsageDescription</key> 
   <string>Utilización de la cámara</string> 
... 

El primer permiso es NSPhotoLibraryUsageDescription. Da la posibilidad de acceder a la lectura de imágenes en el dispositivo.

Finalmente, NSCameraUsageDescription le permite tomar el control de la cámara y por lo tanto, hacer nuevas fotografías.

Ahora que la configuración está completa, es posible abordar el código.

3. El código...

GPS

El uso del GPS es similar a la forma desarrollada anteriormente para las imágenes.

Tiene que usar un paquete para acceder al chip GPS. En este caso, hay varios más o menos completos.

Entre ellos se encuentra el paquete Flutter Team, gps, versión 0.1.1 hasta la fecha. Presumiblemente, este no es el mejor hoy. Obtiene una puntuación de solo 88 sobre 100. Resulta bastante incompleto, pero sigue siendo muy accesible. 

Está disponible aquí: https://pub.dev/packages/gps

La comunidad recurre más al geolocator o location, que tienen una puntuación de 100.

Geolocator está disponible aquí: https://pub.dev/packages/geolocator

Location está disponible aquí: https://pub.dev/packages/location

Para el siguiente ejemplo, se utilizará el paquete location. Es más fácil de usar y más adecuado para principiantes.

1. Instalación del paquete

Para tener acceso a todos los elementos del paquete location, debe estar declarado en el archivo pubspec.yaml:

dependencies: 
 location: ^3.0.2 

Después de guardar esta modificación, todo lo que tiene que hacer es pulsar en Packages get para recuperar las fuentes.

2. Actualización de los permisos

El uso del chip GPS para determinar la ubicación del usuario, requiere permisos. Se deben definir en los archivos AndroidManifest.xml e Info.plist.

Aquí está la ubicación de estos archivos:

  • AndroidManifest.xml:

    Raíz del proyecto -> android -> app -> src -> main

  • Info.plist:

    Raíz del proyecto -> ios -> Runner

Los permisos a añadir...

Otras API

Hay muchos paquetes y recursos disponibles para controlar el hardware de los dispositivos. Sin querer hacer una lista exhaustiva, es interesante observar la presencia de algunas dependencias útiles:

Estos paquetes cambian más o menos rápidamente en función de las actualizaciones a las que se someten. Antes de elegir un paquete, siempre debe echar un vistazo a lo que se ofrece y verificar que el paquete satisfaga sus necesidades.