创建一个文件并使用离子

时间:2016-09-27 16:12:34

标签: jquery angularjs cordova ionic-framework

我正在开发一个用于绘图目的的应用程序。 我创建了KML和JSON字符串,我需要将它们存储在手机内存中的文件中,为此,我使用了以下代码:

 var fileObject;

  document.addEventListener("deviceready", onDeviceReady, true);

  function onDeviceReady() 
  {
    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0,onFileSystemSuccess, fail);
  }

  function onFileSystemSuccess(fileSystem) {
    fileSystem.root.getFile("readme.txt",{create: true, exclusive: false},gotFileEntry, fail);
  }

  function gotFileEntry(fileEntry) {
    fileObject = fileEntry;
    $('#saveFile_btn').on('click', function() {
      saveFileContent();
    });
  }

  function saveFileContent() {
    fileObject.createWriter(gotFileWriter, fail);
  }

  function gotFileWriter(writer) {
    var myText = document.getElementById('my_text').value;
    writer.write(myText);
    writer.onwriteend = function(evt) {
      $('#message').html('<p>File contents have been written.<br /><strong>File path:</strong> ' + fileObject.fullPath + '</p>');
      var reader = new FileReader();
      reader.readAsText(fileObject);
      reader.onload = function(evt) {
        $('#contents').html('<strong>File contents:</strong> <br />'+ evt.target.result);
      };
    };
  }

  function fail(error){
    alert(error.code);
  }

结果不是错误,但我无法在内存中找到该文件。

enter image description here

1 个答案:

答案 0 :(得分:0)

宾果 只有root访问才能看到这些文件。这是为了让应用程序免受被随机删除内容的人破坏。

我使用Root Explorer访问Android设备中的文件,adb pull将其复制到计算机上。