【问题标题】:Suggest Me Best Local Storage Option [closed]建议我最好的本地存储选项[关闭]
【发布时间】:2016-05-25 03:33:47
【问题描述】:

我使用 C# 创建了一个 Web api,还使用 ​​cordova 创建了一个移动应用程序。 我正在使用 JSON 检索有关 cordova 应用程序的所有数据。

现在我想将此 JSON 数据保存到客户端。请建议我将所有数据保存到客户端的最佳选择。

  • SQLLite
  • websql
  • JSON 文件直接保存到客户端或其他选项。

【问题讨论】:

标签: c# android json cordova asp.net-web-api


【解决方案1】:

如果您需要保持客户端和服务器端数据库同步,PouchDB 是一个不错的选择 - 您可以使用 pouchdb-phonegap-cordova 在应用程序中实现它。您还需要在服务器端实现一个 CouchDB REST 接口。

或者由于您的数据已经格式化为 JSON,您可能想尝试使用 cordova-sqlite-porter 作为一种方便的方式来存储数据 - 它可以与 WebView 的 WebSQL DB 或本机 SQLite 结合使用 Cordova-sqlite-storage 插件。

您可以将数据作为 JSON 结构传递给importJsonToDb(),这使得optimisations 能够尽快执行操作。如果您有大量数据要插入,这很好。用法示例:

var db = window.openDatabase("Test", "1.0", "TestDB", 1 * 1024);
var json = {
    "structure":{
        "tables":{
            "Artist":"([Id] PRIMARY KEY, [Title])"
        },
       "otherSQL": [
            "CREATE UNIQUE INDEX Artist_ID ON Artist(Id)"
       ]
    },
    "data":{
        "inserts":{
            "Artist":[
                {"Id":"1","Title":"Fred"},
                {"Id":"2","Title":"Bob"},
                {"Id":"3","Title":"Jack"},
                {"Id":"4","Title":"John"}
            ]
        }
    }
};
var successFn = function(count){
    alert("Successfully imported JSON to DB; equivalent to "+count+" SQL statements");
};
var errorFn = function(error){
    alert("The following error occurred: "+error.message);
};
var progressFn = function(current, total){
    console.log("Imported "+current+"/"+total+" statements";
};
cordova.plugins.sqlitePorter.importJsonToDb(db, json, {
    successFn: successFn,
    errorFn: errorFn,
    progressFn: progressFn,
    batchInsertSize: 500
});

【讨论】:

    【解决方案2】:

    你可以使用pouchdb no SQL database here,也可以使用cordova s​​qlite plugin here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-15
      • 1970-01-01
      • 2019-07-27
      • 1970-01-01
      • 2011-04-20
      相关资源
      最近更新 更多