En el anterior artículo hablaba sobre las características del SDK de Android, donde explicaba las funcionalidades que tiene y cómo se puede empezar un proyecto de Fiori con Android Studio. En este artículo vamos a ver qué componentes tiene el SDK, como están ordenadas las librerías que nos provee, y que capacidades tienen.

El SDK de Android contiene varios componentes de software claves, cada uno con funcionalidades diferentes que se pueden añadir a la aplicación desarrollada. No es necesario utilizarlos juntos, se pueden utilizar tan solo los que se necesiten.

Componente Flows o Flujos

Este componente provee de librerías para implementar los escenarios de onboarding y de recuperación.

Cada una de las librerías tiene sus propias interfaces de retorno, las cuales han de ser implementadas. Estas librerías se ejecutan mediante pasos, ejecutando uno detrás del otro, haciendo posible añadir pasos personalizados entre los ya existentes, dando más posibilidad de personalización.

Los escenarios de los que dispone son:

  • Onboarding – Todo lo relacionado con el inicio de la app.
  • Restore – Para restaurar el estado de la app
  • Reset – Para reestablecer los datos de autenticación y el espacio de almacenamiento en el dispositivo.
  • Change – Para cambiar la contraseña.

Componente Fiori

El componente Fiori provee de una librería de interfaz de usuario que permite crear diseños que sigan el Android Material Design a la vez que mantienen el estilo de Fiori.

Dispone de bastantes elementos para poder adecuar las aplicaciones al modelo Android y hacerlas más familiares para aquellos que están acostumbrados a utilizar este SO.

Por ejemplo, los elementos de Onboarding, cuentan entre otras cosas con: soporte para lectores de códigos QR, pantalla de login, y una pantalla en la que se muestran todos los descargos de responsabilidad legales para que el usuario los acepte o los rechace.

Componente OData

Las APIs incluidas en el SDK permiten interactuar con los servicios de datos de la SAP Cloud platform, y permiten crear aplicaciones completamente online, o con capacidades offline. Para hacer una aplicación offline, se descargan ciertos datos iniciales cuando se esté online y se almacenan en un OData interno. Los cambios hechos, se actualizarán cuando se tenga conexión de nuevo.

Este componente tiene tres capas de código:

  • Clases Proxy: Proveen de métodos para recuperar colecciones e invocar operaciones. Los métodos de estas clases aprovechan la API dinámica y ofrecen acceso rápido a los conjuntos de entidades, tipos de entidades, y a sus propiedades. Si bien no es necesario usarlas, se necesita conocimiento sobre el OData y las semánticas de las relaciones entre entidades. Las clases consisten en tres componentes:
    • Clase metadata, contiene variables de clase para todos los conjuntos de entidades, tipos de entidades y las operaciones de servicio.
    • Clase de servicio, es la clase principal para obtener los datos de los conjuntos de entidades e invocar las operaciones de servicio.
    • Clases fuertemente tipadas para cada tipo de entidad, que simplifican el uso de la API dinámica para las peticiones complejas.
  • La API Dinámica es la que habilita las peticiones complejas, las create, update y delete, y las operaciones contra el proveedor OData.
  • Las otras dos clases se apoyan en la API metadata para obtener los metadatos del proveedor OData.

Componente Foundation o fundación 

Este componente incluye módulos para integrar la aplicación con los SAP Cloud Platform Mobile Services. Los módulos que incluye son los siguientes:

  • Autenticación – Añade diferentes tipos de autenticación.
    • Básica
    • OAuth2
    • SAML
    • Certificado
    • One Time Password
    • No Auth
  • Conectividad Back-End – Los modulos de conectividad con el back-end requieren de la librería okHttp para conectarse, así que son métodos abiertos y flexibles que permiten aceptar directamente objetos de esa clase.
  • Cache – Este componente provee de un pequeño espacio reservado para pares de clave valor que se utilicen con frecuencia.
  • Uso de Cliente – Este componente recoge y sube a la SAP Cloud Platform datos sobre el uso de la aplicación, como el tiempo de uso, las pantallas a las que se accede…
  • Proveedor de Configuración – Facilita la recogida de los datos de configuración iniciales, como los puertos y la url del servidor.
  • Utilidad de Encriptación – Permite que los usuarios almacenen y accedan a claves en el almacenamiento seguro, que más adelante se pueden utilizar para acceder a las clases Secure Store.
  • Logs – Provee de un log de la aplicación de los clientes, que puede usarse para debuggear. La aplicación puede usar este módulo para sacar mensajes.
  • Notificaciones Push –Estas clases ayudan a la interfaz de la aplicación con las notificaciones propias de las aplicaciones de móvil.
  • Almacenamiento Seguro – Provee de un almacenamiento encriptado transparente de 256 bits AES en una base SQLite.
  • Ajustes – Este módulo permite leer y modificar los ajustes relacionados con la aplicación que se encuentren en los Mobile Services de SAP Cloud Platform.

Como se puede ver, el SDK para Android incluye muchas librerías que facilitan la creación de las aplicaciones, sin limitar los posibles cambios más específicos que se quieran hacer. En el futuro veremos más sobre el SDK de Android así que si te interesa, ¡No te pierdas nuestro blog!