Blonde Ehesau Abgeschleppt Und Anal Durchgevoegelt, Sex Club Stuttgart, Jung Anal Porno, Dildo Mit Saugfuss, Pornohirsch, Privater Dreier Sex, Porno Transexual, Alte Nachbarin Will Ficken, Fat Lesbians Porn, Frauen Beim Pinkeln Beobachten, Dreier Mit Der Ehefrau, Negerin Ficken, Notgeiler, Pornofilme Mit Gina Wild, Appetitlich Vollbusige Schoenheit Reagan Foxx Geht Nuesse Waehrend Der Lesben Geschlechtsverkehr, Sehr Alte Oma Porno, Bang Sex Tube, Fingern Lesben, Natalie Hot Und Freundin Vom Programmierer Nerd Gefickt, Kostenlose Deutsche Swingerfilme, Victoria Banxxx Pornos Sexfilme Kostenlos Frauporno, German Milf Swingers Take Cocks In Foursome, Erotkmassage, Strand Nackt Bilder, Forbondage Horny Guy Dominates And Bangs In Bdsm With His Big Ass Girl Loren Minardi, Oma Deutsch Porno, Www Youngsexparties Com, Zuegiger Anal Fick Mit Deutscher Schlampe, Vergewaltigen Porn, Paarsextoys, Die Beliebtesten Videos Von Tag Strassenhure, Tuerkische Schlampe Privat Nach Internet Date Gefickt Und Gesicht Besamt, Spontane Piss Spiele Mit Reifer Deutscher Hausfrau, Coo Peludo, Schwarzhaarige Fickt, Frau Zum Squirten, Porno Teen Orgasmus, Youpor Com, Nackter Sklave, Die Beliebtesten Videos Von Tag Grosser Arsch, Pornosprache, Deutscher Startup Boss Fickt Junge Sekretaerin, Die Rudelficker Sind Los, Analverkehr Das Erste Mal, Oktoberfest Erotik, Dreier Mit Nem Schlabber Titten Luder, Persia Pele Verfuehrt Kerl Fuer Schoene Sex, Ficken Mit 16, Chanel Grey Porn, Deutsche Search Page 44, German Mom Pounded At Public Laundry, Rothaarige Hure Savannah Fox Bekommt Einen Dp In Mmf Dreier, Weiber Nackt, Andrea Porn, Kik Sexgruppen, Breanne Benson Feet, Sex Torte, Free Amateur Sex Tube, Deutsche Schlampen Von 10 Maennern Ohne Gummi Gefickt, Tuerkische Frauen Suchen Deutschen Mann, Girls Handjob, Kostelos Porno, Porno Dillion Harper, Frauenarztpornos, Germen Milf, Reife Fra, Ficken In Der Missionarsstellung, Handjobs Tube, Xhamsyer, Kuschelsex Video, Vitiligo Porn, Escort Damen In Hamburg, Pornofick, Kostenlose Muschi Videos, Edel Nutten, Erstaunliches Bruenettes Maedchen Geht Interracial Um Fette Massive Bbc An Der Spitze Zu Reiten, Porno Kostenkos, Emma Sexy Sat, German Amateurs Have Hot Threesomes, Deutsche Sexy Videos, Asian Bus Sex Tube, Volles Programm Im Amateur Sexfilm, Erotik Video Com, Nassemuschi, Tochter Leckt Mutter, Bad Salzuflen Sex, Kira Noir Vs Die Blaue Pille Bei Der Arbeit, Im Kino Begrabscht, Deep Through, Die Nektons Porn, Gina Wild Schluckt, Jaelyn Fox, Xania Wet Fingert Das Loch, Porno Swing, Busty Melanie Moon And Cum Hungry Viktoria Goo Love Getting Fucked And Cum Covered In Huge Bukkake G, Porno Missbrauch, Kostenlos Live Cam Sex, Basketball Spieler Haben Das Verdient Massage, Franken Huren, Milf Fickt Juengling, Amateur Euro Chubby Deutsche Housewife Jennifer Loves To Start Her Day With Sex, Christine Neubauer Porn, Schwanger Anal Porn, Lesbensex Kostenlos, Deutsche Girlfriend Schlampe Beim Schwanz Lutschen, Lana Rhodes, Ruporno 1, Perfect Girl 1000, Hairy Teen Fuck, Nackte Frau Im Auto, Kostenlose Pornos Free, Japan Teeny Porn, Scharfe Frauen, Blondine Genossen Harten 3 Einige Mit Ihrem Ehemann Und Seinem Schwarzen Kumpel, Latina Anal Porn, Suche Nach Tag Dicke Natur Titten, Gefesselte Und Geknebelte Frauen, Riesen Umschnalldildo, Beste Pornofilme, Frechen Schlampen Jodi Taylor Beteiligt In Der Gruppe Heissen Sex Im Bett, Lilith Lee, Porntube Deutsch, Babescom, Duza Dupa, Beim Masturbieren Erwischt, Kookie Ryan Porn, Ficknutte In Schwarzen Heels Laesst Sich Durch Ballern, Latina Slave Carmen Caliente Ist Power Gefickt Von Master, Erotische Massage Mg, Kellnerin Laesst Sich In Der Kuecher Durch Poppen, Zusammenstellung Tube, Big Tits Blonde Wishes For A Threesome, Russische Polizei Uniform, Sex Bergisch Gladbach, Die Beliebtesten Videos Von Tag Maul Spritzen, Big George Nagelt Bumsnutte Kate Hart Durch, Tube8con, Masturbatio, Fisting Tube Aloha, Bruenette Bekommt Ihren Einweichen Rosa Vagina Gestopft Auf Dem Tisch Im Freien, Im German Porno Anal In Der Druckerei Durch Gefickt, Pornos Deutschen, Gay School Porn, Atk Galeries, Vivian Schmitt Beim Rollenspiel Als Sekretaerin Gefickt, Tuerkisch Tube Sex, Lilu Moon In Sinnlicher Fussfetischszene Unter Den Baeumen, Egon Kowalski Fickt Eine Blonde Schuelerin, Mellanie Monroe Gebohrt In Ihr Buero, Klempner Porno, Cum Covered Amateur, Wwwsexde, Abella Anderson Pov, Die Nerven Merch, Gegenseitig Befriedigen, 3d Cartoon Porn Videos, Geile Votzen Lecken, Pornotrickfilme, Tory Bellamy, Thai Votze, Teenager Sexfilm, Pornostars Beim Sex, Porno Video Black, Dicke Weiber Porno, Escort Ladies Freiburg, Deutsches Maedchen Nackt, Porno Polski, Deutsche Schlampe Kathi Rocks Liebt Die Gesichtsbesamung, Diane Lane Porn, Sex Tube Insertion, Dog Teen Sex Tube, Milf Tube Sex, German Busty Mperiod, Tolle Muschi Sammlung, Milf Duesseldorf, Kik Cam Sex, Teenboy Porno, Deutsch Reif Anal, Www Youjizz Co, Freier Fickt Mit Julia Pink Im Speziellen Bordell Zimmer, Teenmuschi, Fett Titten, Porno Sibel Kekeli, Muschi Sauna, Bordell Altenburg, Die Beliebtesten Videos Von Tag Sex Am Strand, Meine Frau Fickt Gerne, Rose Monroe Bekam Eine Grosse Last Auf Ihrer Brust Nach Heissen Blsaen Und Handjob, Tube8 Anal, Ins Gesicht Gewixt, Sextreff Dessau Rosslau, Deutsche Milfs Ficken Viele Maenner Ohne Gummi Und Lassen Sich Besamen, Sex Keller, Frau Unterm Rock Geschaut, Erotikkino Nuernberg, Sex Sexy, Zauberin Nackt, Standing Fuck Porn, Livestream Porn, Sex Porno Xxxl, Schemale, Layla London Creampie, Fraupornocom, Tanzen Nackt, Extreme Asian Sex Tube, Ixxx Hd, Teen In Unterwaesche, Hermione Hentai, Sexfilme Anschauen, Erotische Geburtstagsgruesse 1, Sexy Geburtstag, Molly Sex Tube, Nackte Junge Muschis, Blonde Deutsche Hure Bumst Mit Dem Pool Reiniger Chef, Fucking A German Bitch At The Bordell Hidden Cam Fuck Whore, Ilona Staller Nackt, Lea Guerlin Porn, Sarah Vandella, Sex Tube Movies, Nubile Filme, Aletta Oceans, Pornhup Kostenlos, Rough German Bukkake Fuck Party, Tuerkish Sex Tube, Alysson Sterling, Teen Mit Schoenen Arsch Aria Liebt Grosse Dong, Sex Amateur Teen, Alettaocean, Sri Lanka Sex Com, Softpornos Free, Erotik Trailer Hamster, Sexvideos Deutsch Kostenlos, George Uhl Massage, Geile Porn, Leck Mein Arschloch, Weimar Erotikum, Geile Deutsche Milf Ficken Einen Harten Schwanz, Milchtitten Porn, Sex Shemale, Sex Spiele Fuer Handy, Laengste Videos Nach Tag Milf Beim Wichsen, Sexclub In Dortmund, German Blonde Milf Fucked Really Hard Watch Part2 On Milfcamladiesperiod, Zunge Am Kitzler, Alissa Nior, Transenpornoorg, Katrina Jade Hd, Nacktfotos Porno, Nichole Heiress, Bundesporno Titten, Bang Porno, Wichs Bilder, Schwanz Lutschen Vor Dem Oktoberfest, Deutsche Pornogeschichten, Porn Selena Gomez, Wwwcam4com, Fantastische Blonde Weisse Schlampen In Sexy Kleid Spaziergaenge In Einem Ghetto Haube, Volleyball Sex Tube, Sexspielzueg, Youpprno, Huren Laatzen, Redtube Brasilien, Cam Online Sex, Paerchen Wagt Das Fremdfick Experiment, Hart Brothers 17, Doghouse Digital, Usa Porn, Daddy Fuck Boy, Sneaker Shoejob, Berlin Sextreffen, Candice Ferguson Porn, Anal Zerstoert, Blackedcom Kostenlos, Dildo Noppen, Hentai Xhamster, Bayrische Sekretaerin Laesst Sich Im Buero Lecken Und Ficken, Meister Sklavin, Sister Porn Hidden Cam, Peurnos Kostenlos, Porno Casting Mit Schnellspritzer, Xxx Gangbang, Anal Creampie Homemade Teen Deutsche Sperma Arschloch German Pov, Deutschsprachige Lesben Pornos, German Milf Pov Sex, Store Sex Tube, Freundin Vibrator, German Granny Masturbating In Public Traffic, Jungspund Ueberrascht Seine Tante Bei Der Selbstbefriedigung Und Darf Sie Voegeln German Aunt, Aletta Ocean Gangbang, Retro Film Lpar, Geile Frauen Anal, Gay Teen Wichsen, Russin Gefickt, Kinsley Karter, Lesbensexparty, Sex Tube Family, Tushy Blond, Muenchen Sex Club, Sex Tube Japan Slime, Porno Geile Maedchen, Bordell Dinslaken, Porn Teen Sister, Omi Sex Tube, Sweet Cam Porn, Kostenlose Deutsche Pornofilm, Porno Mit Stil, Sex Mit Einer Fremden, 18 Anal Teen, Kostenlosficken, Huge Mega Boobs, Sex Zuelpich, Porno Casting Woodman, Movi Porno, Hausherrin Laesst Sich Von Ihrer Bediensteten Verwoehnen, Die Beliebtesten Videos Von Tag Porno Reife Frauen, Cum On Girls 07 1 1, Outdoor Nutten, Anja Anal, Fickheuschen, Geknebelt Und Gefickt, Deepthroat Gay, Schlampenpornos, Porn Full, Pornstarplatinumcom, Fotze Jung, Sexy Sat Girls, Xvideos Comv, Porn Seit, Zur Schlampe Gemacht, Reife Deutsche, Fakecasting Mit Einer Verfickten Kleinen Modelschlampe, Porno Samba Gratis, Ppornohub, Frauen Mit Brille Nackt, Gratis Sexclip, Blowjob Torture, Seks Spiele, Angequatscht Und Abgeschleppt, Cindy Shine, Teenager Po, Sex Treffen Zwickau, Entjungferung Pornos, Diana Amft Sex, Sex Elektro, Freie Sexfilme Deutsch, Teen Anal Extrem, Nylonmature, Trashigen Suchen Hure Cielo Schwalben Grossen Schwanz Und Reitet Es Auf Eine Pov Kamera, Mydirty Hobby Amateur German Blonde Horny College Fuckbuddy, Suche Sex In Keuln, Lucy Cat Porn, Sexy Schwarze Maedchen Harley Dean Entspannt In Besonderer Weise Waehrend Ficken, Hidden Cam Porn Public, Propertysex, Younow Sex Tube, Laura Teen Porn, Bayerische Sexfilme, Erotik Ludwigsburg, Masturbation Tubes, Black Girls Berlin, Sex Trojkat, Fingern Sex, Filmy Erotyczne Macocha, Muslima Anal, Geile Hausfrau In Strapse Lasst Sich Von Schulfreunden Ihres Stief Sohn Ficken German Threesome, Hd Iwank, Mia Bandini Porn, Vollbusige Blondine Hacke Kenzie Taylor Gefaellt Zwei Gloryhole Schwarze Schwaenze, Junge Weiber, Viel Sperma Spritzen, Tila Tequila Porn, Porno Israel, Lesben Porno Im Bus, Porno Schwiegertochter, Im Schlaf Geleckt, Kleine Filme Fuer Whatsapp, Es Hat Die Meisten Muendliche Leistung, Ausgesetzt Casey Calvert Wird In Den Wilden Bdsm Gangbang, Massagegirls, Domina Fickt Sklavin, Gina Wild Vollgespritzt, Normale Schwaenze, Girl Footjob, Hure Magdeburg, Deutsche Oma Sex Tube, Arsch Ficke, Sophie Logan Laesst Sich Beim Wolf Wagner Date Poppen, Bh Porn, Verwoehnte College Studenten Genutzt Die Von Perversen Lehrer, Ladies In Ambergde, Young Fuck Old, Schwangere Hat Sex, Sexy Steuhnen, Wwwtube8con, Pornzube, Amateure Beim Sex, Herz Stoppen Transen Roxxie Monroe Wichst Sich Ihren Harten Schwanz In Solo, Massage Blowjob, Girlfuck, Video Sex Frei, Sex Nummern Fuer Whatsapp, Gay Hentai Video, Sister Fuck Brother, Mia Julia Pornofilme, Lesben Verfuehrt, Gay Film Porn, Lesbian Moms Porn, Tochter Wichst, Sex Rheinbach, Pornos Heimlich, Micro Penis Porno, Mandy Blasehase, Gay Sex Outdoor Tube, Deutsche Girls Porno, Fay Porn, Top Bewertete Videos Von Tag Schweizer Porno, Callgirl Mannheim, Suche Nach Tag Fuesse Lecken, Schwarze Deutsche Porno, Pornoyux, Nicky Night Beim Quickie In Der Mittagspause Gefickt, Russisch Sex Tube, Pervert Granny, Turkin Porn, Deutsche Pornografische, Gay Teen Sex Tumblr, Ficken De, Striper Porno, Child Tube Sex, Hand Job Tube, Rough Threesome, Porno Deutsch Kurze Haare, Porn Tube Sex Free, Female Agent Casting, Anal Creampie Porn, Tit Job, Nonen Porn, Spritzende Moese, Lexxyrox, Ronny Rosetti Besorgt Es Asia Schlampe Ins Arschloch, Free Sex Bondage, Hidden Amateur Porn, Pete On Tour Sex Tube, Softorno, Xxnxx Porn, My Dirty Hobby Busty Blonde Rides A Young Cock, Feuchte Haarige Muschi, Bruder Fickt Schwester Und Freundin, Deutsche Blonde Mutter 1 Dreier Nach Verletzungen, Laengste Videos Nach Tag Gratis Anal Pornofilme, Ehefrau Verkauft Porno, Hantai Gay, Blacked Com, Teeniefick, 80s Porn, Bodo Fickt Diplomhure Oxana Auf Der Treppe, Telegramm Sex, Huren In Memmingen, Simpsons Por, Outdoor Ficken Im Free Porno Deutsch, Gepiercte Fotze, Wet Pussy Bitch Show Her Creamy Pussy, Ronny Nagelt Geile Junge German Bruenette Durch, Rothaarige Kelly Divine Macht Ihre Majestaetischen Hintern, Kinky Niky, Kostenlose Erotik Seiten, Sex Im Zeltlager, Die Beliebtesten Videos Von Tag Gefesselt, Erika Bella, Leigh Darby Porn, Porno Asien, Fuck My Pussy, Hypnose Hentai, Besofene Weiber, Bianca Biggs Porn, Mature Verfuehrt, Ausschweifendes Oma Mit Kleine Titten Angela Reed Ruft Gebohrt Durch Einen Heissen Kerl, Bailey Brooke, Sex In Steglitz, Hurenfick, Logan Pierce Porn, Vdeo Porn Grtis, Die Scheunste Frau Der Welt Nackt, Johnny Sins Cock, Frau Zum Orgasmus Gefickt, Meine Mutter Hat Mir Einen Geblasen, Loan4kperiod, Handjob Mutter, Nakte Madchen, Teenie Moese, Nude In Train, Sophia Thiel Sex Tube, Amateur Euro Deutsche Amateur Mandy Mystery Blows And Bangs With Her Lover, Gloryhole In Berlin Como armazenar dados offline com Ionic Storage - Fábrica de Código

Como armazenar dados offline com Ionic Storage

Nessa vídeo aula eu mostro como armazenar dados offline com o Ionic Storage.

 

O que é o Ionic Storage

O Ionic Storage é uma maneira simples de armazenar dados no formato chave/valor seja em um PWA (Progressive Web App) ou em um aplicativo nativo.

No aplicativo nativo será priorizado o uso do SQLite, para isso é necessário instalar o plugin cordova-sqlite-storage, e em um PWA a ordem de utilização será IndexedDB, WebSQL, e localstorage.

ionic cordova plugin add cordova-sqlite-storage

 

É possível escolher a ordem de prioridade de utilização de armazenamento. Para isso no arquivo app.module.ts, na propriedade imports basta colocar conforme exemplo abaixo.

import { IonicStorageModule } from '@ionic/storage';

@NgModule({
  declarations: [...],
  imports: [
    IonicStorageModule.forRoot({
      name: '__mydb',
         driverOrder: ['indexeddb', 'sqlite', 'websql']
    })
  ],
  bootstrap: [...],
  entryComponents: [...],
   providers: [...]
})
export class AppModule { }

 

Criando uma aplicação de exemplo

No vídeo acima e mostro como criar uma app para salvar contatos utilizando o Ionic Storage.

O passo a passo abaixo é o mesmo mostrado no vídeo.

  • Passo 1: Criar o aplicativo.
  • Passo 2: Instalar o Ionic Storage.
  • Passo 3: Configurar o Ionic Storage.
  • Passo 4: Criar o provider para fazer o CRUD.
  • Passo 5: Criar a pagina de inclusão/alteração de contatos.
  • Passo 6: Alterar a pagina Home para listar e excluir os contatos.

 

Passo 1: Criar o aplicativo

ionic start NOME_DO_APP blank

 

Passo 2: Instalar o Ionic Storage

npm install --save @ionic/storage

 

Passo 3: Configurar o Ionic Storage

A configuração do Ionic Storage fica no arquivo app.module.ts

import { BrowserModule } from '@angular/platform-browser';
import { ErrorHandler, NgModule } from '@angular/core';
import { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';
import { SplashScreen } from '@ionic-native/splash-screen';
import { StatusBar } from '@ionic-native/status-bar';

import { MyApp } from './app.component';
import { HomePage } from '../pages/home/home';

import { IonicStorageModule } from '@ionic/storage';
import { DatePipe } from '@angular/common';
import { ContactProvider } from '../providers/contact/contact';

@NgModule({
  declarations: [
    MyApp,
    HomePage
  ],
  imports: [
    BrowserModule,
    IonicModule.forRoot(MyApp),
    IonicStorageModule.forRoot()
  ],
  bootstrap: [IonicApp],
  entryComponents: [
    MyApp,
    HomePage
  ],
  providers: [
    StatusBar,
    SplashScreen,
    {provide: ErrorHandler, useClass: IonicErrorHandler},
    DatePipe,
    ContactProvider
  ]
})
export class AppModule {}

 

Passo 4: Criar o provider para fazer o CRUD

ionic g provider contact

 

Arquivo contact.ts

import { Injectable } from '@angular/core';
import 'rxjs/add/operator/map';
import { Storage } from '@ionic/storage';
import { DatePipe } from '@angular/common';

@Injectable()
export class ContactProvider {

  constructor(private storage: Storage, private datepipe: DatePipe) { }

  public insert(contact: Contact) {
    let key = this.datepipe.transform(new Date(), "ddMMyyyyHHmmss");
    return this.save(key, contact);
  }

  public update(key: string, contact: Contact) {
    return this.save(key, contact);
  }

  private save(key: string, contact: Contact) {
    return this.storage.set(key, contact);
  }

  public remove(key: string) {
    return this.storage.remove(key);
  }

  public getAll() {

    let contacts: ContactList[] = [];

    return this.storage.forEach((value: Contact, key: string, iterationNumber: Number) => {
      let contact = new ContactList();
      contact.key = key;
      contact.contact = value;
      contacts.push(contact);
    })
      .then(() => {
        return Promise.resolve(contacts);
      })
      .catch((error) => {
        return Promise.reject(error);
      });
  }
}

export class Contact {
  name: string;
  phone: number;
  birth: Date;
  active: boolean;
}

export class ContactList {
  key: string;
  contact: Contact;
}

 

Passo 5: Criar a pagina de inclusão/alteração de contatos

ionic g page edit-contact

 

Arquivo edit-contact.ts

import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams, ToastController } from 'ionic-angular';
import { ContactProvider, Contact } from '../../providers/contact/contact';

@IonicPage()
@Component({
  selector: 'page-edit-contact',
  templateUrl: 'edit-contact.html',
})
export class EditContactPage {
  model: Contact;
  key: string;

  constructor(public navCtrl: NavController, public navParams: NavParams, private contactProvider: ContactProvider, private toast: ToastController) {
    if (this.navParams.data.contact && this.navParams.data.key) {
      this.model = this.navParams.data.contact;
      this.key =  this.navParams.data.key;
    } else {
      this.model = new Contact();
    }
  }

  save() {
    this.saveContact()
      .then(() => {
        this.toast.create({ message: 'Contato salvo.', duration: 3000, position: 'botton' }).present();
        this.navCtrl.pop();
      })
      .catch(() => {
        this.toast.create({ message: 'Erro ao salvar o contato.', duration: 3000, position: 'botton' }).present();
      });
  }

  private saveContact() {
    if (this.key) {
      return this.contactProvider.update(this.key, this.model);
    } else {
      return this.contactProvider.insert(this.model);
    }
  }

}

 

Arquivo edit-contact.html

<ion-header>
  <ion-navbar>
    <ion-title>
      Ionic Storage Example
    </ion-title>
  </ion-navbar>
</ion-header>

<ion-content padding>

  <ion-list>

    <ion-item>
      <ion-label stacked>Nome</ion-label>
      <ion-input type="text" name="name" [(ngModel)]="model.name"></ion-input>
    </ion-item>

    <ion-item>
      <ion-label stacked>Telefone</ion-label>
      <ion-input type="tel" name="phone" [(ngModel)]="model.phone"></ion-input>
    </ion-item>

    <ion-item>
      <ion-label stacked>Nascimento</ion-label>
      <ion-datetime displayFormat="DD/MM/YYYY" name="birth" [(ngModel)]="model.birth"></ion-datetime>
    </ion-item>

    <ion-item>
      <ion-label>Ativo</ion-label>
      <ion-checkbox name="active" [(ngModel)]="model.active"></ion-checkbox>
    </ion-item>

  </ion-list>

  <button ion-button block (click)="save()">Salvar</button>

</ion-content>

 

Passo 6: Alterar a pagina Home para listar e excluir os contatos

Arquivo home.ts

import { Component } from '@angular/core';
import { NavController, ToastController } from 'ionic-angular';
import { ContactProvider, Contact, ContactList } from '../../providers/contact/contact';

@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})
export class HomePage {
  contacts: ContactList[];

  constructor(public navCtrl: NavController, private contactProvider: ContactProvider, private toast: ToastController) { }

  ionViewDidEnter() {
    this.contactProvider.getAll()
      .then((result) => {
        this.contacts = result;
      });
  }

  addContact() {
    this.navCtrl.push('EditContactPage');
  }

  editContact(item: ContactList) {
    this.navCtrl.push('EditContactPage', { key: item.key, contact: item.contact });
  }

  removeContact(item: ContactList) {
    this.contactProvider.remove(item.key)
      .then(() => {
        // Removendo do array de items
        var index = this.contacts.indexOf(item);
        this.contacts.splice(index, 1);
        this.toast.create({ message: 'Contato removido.', duration: 3000, position: 'botton' }).present();
      })
  }

}

 

Arquivo home.html

<ion-header>
  <ion-navbar>
    <ion-title>
      Ionic Storage Example
    </ion-title>
  </ion-navbar>
</ion-header>

<ion-content padding>
  <ion-list>
    <ion-card *ngFor="let item of contacts" [ngClass]="{'item-inactive': !item.contact.active }">

      <ion-card-header>
        <h1>{{ item.contact.name }}</h1>
      </ion-card-header>

      <ion-card-content>
        <p>{{ item.contact.phone }} - {{ item.contact.birth | date:'dd/MM/yyyy' }} </p>
      </ion-card-content>

      <ion-row text-center>
        <ion-col>
          <button ion-button icon-left clear small (click)="editContact(item);">
            <ion-icon name="create"></ion-icon>
            <div>Editar</div>
          </button>
        </ion-col>
        <ion-col>
          <button ion-button icon-left clear small (click)="removeContact(item);">
            <ion-icon name="trash"></ion-icon>
            <div>Excluir</div>
          </button>
        </ion-col>
        <ion-col>
          <a href="tel:{{ item.contact.phone }}" ion-button icon-left clear small>
            <ion-icon name="call"></ion-icon>
            <div>Ligar</div>
          </a>
        </ion-col>
      </ion-row>

    </ion-card>
  </ion-list>

  <ion-fab right bottom>
    <button ion-fab color="primary" (click)="addContact()"><ion-icon name="add"></ion-icon></button>
  </ion-fab>
</ion-content>

 

Clique no botão abaixo para ver o código fonte gerado nessa aula

 

[button style=”btn-primary btn-lg” type=”link” target=”true” title=”Código fonte gerado na aula” link=”https://github.com/fabricadecodigo/IonicStorageExample” linkrel=””]

 

Referências

 

Gostou desse artigo? Aproveite e curta e compartilhe para que mais pessoas possam também visualiza-lo!

Ainda ficou alguma dúvida ou tem alguma sugestão? Deixa aí nos comentários!

10 comentários em “Como armazenar dados offline com Ionic Storage”

  1. Itamar Rocha

    Boa tarde, Felipe

    Sou eu novamente, estou com uma dúvida quanto a armazenamento de geolocalização ionic offline.

    Tem alguma coisa que me recomenda?

    Desde já agradeço parceiro

  2. Fala Itamar, depende do que você quer armazenar e o que você vai fazer com a informação.
    Mas você pode usar o Ionic Storage ou o próprio SQLite.

    Valeu!

  3. Usley Do Carmo

    Boa noite! Porque se eu altero o nome do campo exemplo ( na classe export class Contact eu altero o nome da ‘name: string’ para ‘nome: string’ ou acrescento mais um objeto da este erro:
    Uncaught( inpromise) navigation stack needs at least one root page?

  4. Fala Usley, blz?

    Essa alteração que você fez não bate com a mensagem de erro.
    Essa mensagem de erro diz que está faltando a rootPage.

    La no app.component tem uma variavel para definir qual é a pagina que deve ser aberta por padrão.
    Da uma olhada lá.

    Valeu

  5. Murilo Lourenço Cabral

    Olá professor,

    Essa é uma opção para salvar realtime database do firebase? Tem como me explicar o caminho que tenho que salvar?

    Obrigado.

  6. Matteus Sousa Buttowski

    Olá prof. Parabéns pelo tutorial. Tenho um pedido, pois tentei de várias formas e não consegui, podeira fazer um exemplo de salvar os dados de uma api no sqlite pra uso offline caso o usuário nao tenha conexao com internet?

  7. Murilo Lourenço Cabral

    Desculpe não fui claro…
    Gostaria de deixar os dados disponíveis offline persistente no dispositivo.
    Aguardo Obrigado por sua resposta.

  8. Com a SDK do Firebase para web, que é a usada no Ionic, não funciona muito bem a parte offline.
    O ideal nesse caso seria ter uma API rest e salvar os dados no SQLite.

    Valeu!

Comentários encerrados.