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: 'john.doe@example.com'
};
await this.storage.set('user', user);
}
async getComplexData() {
const user = await this.storage.get('user');
console.log(user); // { id: 1, name: 'John Doe', email: 'john.doe@example.com' }
}Exercicis Pràctics
Exercici 1: Emmagatzemar i Recuperar una Llista de Tasques
- Crea una interfície
Taskamb les propietatsid,titleicompleted. - 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
id1 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
