0
這是Ionic 2+ - 我加載時檢索對象的數組。當網絡存在並且用戶執行一個動作時,該對象itemID然後被髮送到該API端點。當沒有任何網絡時,應將itemID保存到SQLite數據庫,然後在網絡恢復後將其推送到API端點。當沒有網絡 - 保存數據到sqlite並一旦網絡重新獲得發送到服務器
組件
保存要保存到數據庫的初始對象數組。
private createDB(): void{
this.sqlite.create({
name: 'DATABASE_FILE_NAME',
location: 'default'
}).then((db: SQLiteObject) => {
this.db = db;
this.createTables();
})
.catch(e => console.log(e));
}
private createTables(): void{
this.db.executeSql('CREATE TABLE IF NOT EXISTS "ITEMS" (`rowid` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, `something` BOOL, `something` BOOL, `itemID` INT)', {}).then((res) => { console.log(res, 'Executed SQL')
}).catch(e => console.log(e));
}
陣列我檢索
[
{itemID: 10, something: "blue", something: "1"}
{itemID: 11, something: "red", something: "2"}
{itemID: 12, something: "green", something: "2"}
{itemID: 13, something: "yellow", something: "1"}
]
發送動作功能服務器
this.service.sendAction(itemID).subscribe(result => {})
我該如何獲得TABLE表名,如果它不是創造出來的?我應該早點這樣問。或者,我是否會從我的問題開始創建表格,並使用您在上面提供的示例? – userlkjsflkdsvm
@userlkjsflkdsvm您應該首先創建表。我通常爲所有表使用單獨的服務/提供者。看例子http://www.tomislavstankovic.com/blog/ionic-2-3-sqlite-servis/ –
我遇到的問題是,我只想保存一個對象,而不是一個數組。就像在我的例子中,我只向對象發送一個對象,而不是一個對象數組。 – userlkjsflkdsvm