Introducció
Ionic Storage és una biblioteca que proporciona una API simple per emmagatzemar dades localment en una aplicació Ionic. És compatible amb diversos mecanismes d'emmagatzematge, com ara IndexedDB, WebSQL, i localStorage, i selecciona automàticament el millor mecanisme disponible en el dispositiu de l'usuari.
Objectius
En aquest tema, aprendràs a:
- Configurar Ionic Storage en la teva aplicació.
- Emmagatzemar, recuperar i eliminar dades utilitzant Ionic Storage.
- Gestionar dades complexes amb Ionic Storage.
Configuració de Ionic Storage
Instal·lació
Per començar a utilitzar Ionic Storage, primer has d'instal·lar la biblioteca i el mecanisme d'emmagatzematge que desitgis utilitzar. En aquest exemple, utilitzarem IndexedDB.
Configuració
Després d'instal·lar les dependències, has de configurar Ionic Storage en el teu projecte. Obre el fitxer app.module.ts
i afegeix la configuració següent:
import { IonicStorageModule } from '@ionic/storage-angular'; @NgModule({ declarations: [AppComponent], imports: [ BrowserModule, IonicModule.forRoot(), AppRoutingModule, IonicStorageModule.forRoot() ], providers: [], bootstrap: [AppComponent] }) export class AppModule {}
Utilitzant Ionic Storage
Inicialització
Abans de poder utilitzar Ionic Storage, has d'inicialitzar-lo. Això es fa normalment en el constructor del component principal o en un servei dedicat.
import { Component } from '@angular/core'; import { Storage } from '@ionic/storage-angular'; @Component({ selector: 'app-root', templateUrl: 'app.component.html', styleUrls: ['app.component.scss'], }) export class AppComponent { constructor(private storage: Storage) { this.init(); } async init() { await this.storage.create(); } }
Emmagatzemar Dades
Per emmagatzemar dades, utilitza el mètode set
. Aquest mètode accepta una clau i un valor.
Recuperar Dades
Per recuperar dades, utilitza el mètode get
. Aquest mètode accepta una clau i retorna el valor associat.
Eliminar Dades
Per eliminar dades, utilitza el mètode remove
. Aquest mètode accepta una clau i elimina el valor associat.
Emmagatzemar Dades Complexes
Ionic Storage també permet emmagatzemar objectes complexos. Els objectes es serialitzen automàticament a JSON.
async setComplexData() { const user = { id: 1, name: 'John Doe', email: '[email protected]' }; await this.storage.set('user', user); } async getComplexData() { const user = await this.storage.get('user'); console.log(user); // { id: 1, name: 'John Doe', email: '[email protected]' } }
Exercicis Pràctics
Exercici 1: Emmagatzemar i Recuperar una Llista de Tasques
- Crea una interfície
Task
amb les propietatsid
,title
icompleted
. - Emmagatzema una llista de tasques utilitzant Ionic Storage.
- Recupera la llista de tasques i mostra-la en la consola.
Solució
interface Task { id: number; title: string; completed: boolean; } async setTasks() { const tasks: Task[] = [ { id: 1, title: 'Buy groceries', completed: false }, { id: 2, title: 'Walk the dog', completed: true } ]; await this.storage.set('tasks', tasks); } async getTasks() { const tasks: Task[] = await this.storage.get('tasks'); console.log(tasks); }
Exercici 2: Actualitzar una Tasca
- Recupera la llista de tasques.
- Actualitza l'estat de la tasca amb
id
1 acompleted: true
. - Emmagatzema la llista de tasques actualitzada.
Solució
async updateTask() { const tasks: Task[] = await this.storage.get('tasks'); const taskIndex = tasks.findIndex(task => task.id === 1); if (taskIndex > -1) { tasks[taskIndex].completed = true; await this.storage.set('tasks', tasks); } }
Conclusió
En aquest tema, has après a configurar i utilitzar Ionic Storage per emmagatzemar, recuperar i eliminar dades en la teva aplicació Ionic. També has vist com gestionar dades complexes i has practicat amb exercicis pràctics. Amb aquests coneixements, pots començar a gestionar dades localment en les teves aplicacions Ionic de manera eficient.
Curs de Desenvolupament Ionic
Mòdul 1: Introducció a Ionic
- Què és Ionic?
- Configuració de l'Entorn de Desenvolupament
- Creant la Teva Primera App Ionic
- Entenent l'Estructura del Projecte
- Executant i Depurant la Teva App
Mòdul 2: Components Bàsics i Navegació
- Visió General dels Components Ionic
- Utilitzant Botons i Icones Ionic
- Creant i Utilitzant Pàgines
- Navegació i Enrutament
- Pestanyes i Menús Laterals
Mòdul 3: Estilització i Tematització
- Introducció a l'Estilització Ionic
- Utilitzant CSS i SCSS en Ionic
- Tematitzant la Teva App Ionic
- Disseny Responsiu en Ionic
- Personalitzant Components Ionic
Mòdul 4: Treballant amb Dades
- Introducció al Binding de Dades
- Utilitzant Serveis Angular
- Peticions HTTP i APIs
- Emmagatzemant Dades Localment
- Utilitzant Ionic Storage
Mòdul 5: Components i Funcionalitats Avançades
- Utilitzant Formularis Ionic
- Validació i Gestió d'Errors
- Utilitzant Plugins Ionic Native i Cordova
- Accedint a Funcionalitats del Dispositiu
- Notificacions Push
Mòdul 6: Proves i Desplegament
- Proves Unitàries en Ionic
- Proves de Cap a Cap
- Construint per a Producció
- Desplegant a les Botigues d'Aplicacions
- Integració i Lliurament Continu