angular - ionic 2 Stocare & date din baza de date se pierd odată ce aplicația este închisă în Android
Folosesc Ionic 2 SqlStorage pentru a stoca niște date, dar acestea se pierd odată ce închid aplicația pe dispozitive Android.
Următorul exemplu de cod pentru stocarea datelor.
import {Injectable} from '@angular/core';
import { Storage, SqlStorage } from 'ionic-angular';
@Injectable()
export class DatabaseService {
private storage: Storage;
constructor() {
this.storage = new Storage(SqlStorage);
// we're creating a table called 'devicedata' if it doesn't exist
this.storage.query('CREATE TABLE IF NOT EXISTS devicedata (id INTEGER PRIMARY KEY AUTOINCREMENT, institutionid TEXT, userimage TEXT, firstname TEXT, lastname TEXT, email TEXT, dob TEXT, gender TEXT, aadhaarno TEXT, nickname TEXT, mobile TEXT, geocode TEXT, location TEXT, ip TEXT, type TEXT, deviceid TEXT, os TEXT, app TEXT, capability TEXT)');
this.storage.query('CREATE TABLE IF NOT EXISTS seqquestions (id INTEGER PRIMARY KEY AUTOINCREMENT, seqques TEXT, secseq TEXT, status TEXT)');
}
saveDeviceData(data) {
let sql = 'INSERT INTO devicedata (institutionid, app, capability) VALUES (?, ?, ?)';
// return the query which happens to be a promise.
return this.storage.query(sql, [data.institutionid, data.app, data.capability]);
}
// get all categories
getDeviceDetails() {
return this.storage.query('SELECT institutionid, userimage, firstname, lastname, email, dob, gender, aadhaarno, nickname, mobile, geocode, location, ip, type, deviceid, os, app, capability FROM devicedata');
}
updateProfileDetails(obj){
console.log(JSON.stringify(obj));
let sql = 'UPDATE devicedata SET nickname = ?, userimage = ?, firstname = ?, lastname = ?, email = ?, dob = ?, gender = ?, aadhaarno = ?';
return this.storage.query(sql, [obj.nickname, obj.userimage, obj.firstname, obj.lastname, obj.email, obj.dob, obj.gender, obj.aadhaarno]);
}
}