我只想知道这是否可能以及如何完成。
假设Android用户具有网络连接,并进行更改,然后更新数据库。然后,用户将失去网络连接,但仍会在其设备上进行更改。如果没有连接,他们显然无法将数据发送到数据库。
但是,当他们再次收到连接时,没有连接时进行的更改会自动更新并发送到数据库。我将如何使用Ionic 2框架做这样的事情?请把我指向正确的方向。
谢谢!
是的。
为此,您需要 sqlite 。最好制作SQLite服务。
在第一阶段,最重要的是将数据保存到离线/本地数据库。在这种情况下,这是sqlite。
没有网络连接并且用户将一些操作保存数据保存到SQLite数据库中创建的表。
finishFunction(){
if(this._connectivityService.isOnline()){
//Send data directly to external database
this._api.sendData(this.parameters).subscribe(res => {
});
} else {
//Store data in offline SQLite database
this._database.myOfflineTable(this.parameters);
}
}
之后,在App Home Page中检查网络连接何时可用,并调用通过API将本地/离线数据发送到外部数据库的函数。当API返回成功消息时,您可以空离线表。
sendMyOfflineData(){
this._database.getOfflineTable().then((result) => {
this.OfflineTableList = <Array<Object>> result;
if(this.OfflineTable.length != 0){
for(var i = 0; i < this.OfflineTable.length; i++){
this._api.sendData(this.OfflineTable[i]).subscribe(res => {
if(res.status == true){
this._database.deleteOfflineTable();
}
});
}}
}, (error) => {
console.log("ERROR: ", error);
});
}
如果您需要更多详细信息,我在这里。