Guía 17

Guía 17

DAWM / Proyecto04

Objetivo general

Desarrollar una aplicación híbrida utilizando tecnologías que integren modelos de aprendizaje automático previamente entrenados en un entorno funcional y accesible para resolver problemas específicos mediante el reconocimiento de patrones, objetos o sonidos fomentando habilidades prácticas en el desarrollo de aplicaciones móviles con tecnologías modernas y la implementación de inteligencia artificial.

Actividades previas

  1. En Firebase, cree el proyecto hybrid
  2. Agregue el servicio Realtime Database
  3. Agregue la clave collection
  4. Modifique las reglas de acceso para el acceso permanente.
  5. Verifique el endpoint de la colección, p.e.: https://hybrid-ff472-default-rtdb.firebaseio.com/collection.json

Actividades en clases

  1. Clone localmente tu repositorio hybrid.
  2. Abra el proyecto en VSCode y levante el servidor.

     ionic serve
    

Interfaz de Tipo de Datos

  1. Cree una interfaz de Angular, con:

     ionic g interface interfaces/data
    
  2. Modifique hybrid/src/app/interfaces/data.ts, con:

     export interface Data {
         texto: string;
     }
    

Servicio Proveedor de Datos

  1. Cree el servicio proveedor de datos, con:

     ionic g service services/provider
    
  2. Edite el servicio hybrid/src/app/services/provider.service.ts, con:

     import { Injectable } from '@angular/core';
    
     /* 1. Importe el módulo del HttpClient */
     import { HttpClient } from '@angular/common/http';
    	
     ...
     export class ProviderService {
    
         /* 2.Atributo URL */
         private URL: string = 'https://<NOMBRE_DEL_PROYECTO>.firebaseio.com/collection.json';
    
         /* 3. Inyección de dependencia del HttpClient */
         constructor(private http:HttpClient) { }
    
         /* 4. Método con la petición HTTP */
         getResponse() {
             return this.http.get(this.URL);
         }
    
         /* 5. Método con la petición HTTP */ 
         postResponse(data: any) {
             return this.http.post(this.URL, data);
         }
    
     }
    

Consumo de Servicio

Componente.ts - Formulario y Renderización del resultado

  1. Modifique el archivo hybrid/src/app/tab1/tab1.page.html, con:

    • Utilice la directiva *ngFor para recorrer el arreglo data en la vista (html) del componente seleccionado.
     ...
     <ion-content [fullscreen]="true">
    
       <ion-card class="ion-padding-bottom ion-margin-bottom">
    	    
         <ion-card-header>
           <ion-card-title>Memorias</ion-card-title>
         </ion-card-header>
    
         <ion-card-content class="ion-text-center">
           <form [formGroup]="checkoutForm" (ngSubmit)="onSubmit()">
             <ion-input formControlName="texto"
               placeholder="Ingresa tu memoria"></ion-input>
             <ion-button type="submit">Enviar</ion-button>
           </form>
         </ion-card-content>
       </ion-card>
    	  
    
       <ion-card>
         <ion-card-header>
           <ion-card-title>Lista de Memorias</ion-card-title>
         </ion-card-header>
    
         <ion-card-content>
    
           <!-- Muestra los elementos -->
           <ion-list>
             <ion-item *ngFor="let datum of data">
               <ion-label> {{ datum?.texto }} </ion-label>
             </ion-item>
           </ion-list>
    
         </ion-card-content>
       </ion-card>
    
    	  
     </ion-content>
    

Documentación

Fundamental

Términos

reactform

Referencias