如何使用ngCordova File api保存JSON?

时间:2015-08-17 20:01:36

标签: json angularjs cordova ionic-framework ionic

我正在尝试将Ionic应用程序中的JSON数据保存到本地设备存储中。我想使用ngCordova File插件。我似乎无法找到任何使用docs中所用方法的教程或示例应用。

之前是否有人使用此插件来保存JSON数据?你是怎么做到的?

1 个答案:

答案 0 :(得分:2)

ngCordova使用文件编写器API消除了编写文件的大量丑陋。

此示例已从docs改编而来,并使用writeFile(path, file, data, replace),其中路径由cordova.file.DIRECTORY_TYPE定义,file是文件的字符串名称,数据是字符串表示数据(因此我们将使用JSON.stringify())。 Replace是一个布尔值,它将简单地删除文件的现有内容。

//Write using cordova.file.dataDirectory, see File System Layout section for more info
var json = {"test": "hello world"}
$cordovaFile.writeFile(cordova.file.dataDirectory, "hello.json", JSON.stringify(json), true)
  .then(function (success) {
    // success
  }, function (error) {
    // error
    console.log(error); //error mappings are listed in the documentation
  });

对于控制器,假设我们使用的是controllerAs语法,它可能看起来像这样:

angular.controller("...",['$cordovaFile' function ($cordovaFile) {
  var vm = this;
  vm.writeFile = function (fileName) {
    ionic.Platform.ready(function(){
      // will execute when device is ready, or immediately if the device is already ready.
      var json = {"test": "hello world"}
      $cordovaFile.writeFile(cordova.file.dataDirectory, "hello.json", JSON.stringify(json), true)
        .then(function (success) {
          // success
        }, function (error) {
          // error
          console.log(error); //error mappings are listed in the documentation
      });
    });
  };
});