2012-02-27 54 views
4

我正在创建一个phonegap应用程序,并且需要在第一次加载时创建一个新的.txt文件。在此之后,我需要检查文件是否存在,然后忽略了创作,如果是这样的话,下面的是,我以后的一般流程:Phonegap - 在第一次加载时创建一个.txt文件

1 - onDeviceReady - 装载phoengap应用 2 - 检查的readme.txt存在(如果是负载主页) 3 - 创建一个readme.txt文件,并添加到www文件夹 4 - 继续加载网页

编辑 - 而不是我下面所提到的有效的答案决定使用HTML5s本地存储,因为这只是一行代码。

localStorage.setItem("name", "Email Supplied!"); 

,并可以使用这个简单的if语句

if (localStorage.getItem("name") == "Email Supplied!") 
     { 
      // What you want to happen here 
     } 

回答

1

你可以看看完整的例子在这里:如果它不存在

http://docs.phonegap.com/en/1.4.1/phonegap_file_file.md.html#FileWriter

该行创建文件:

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

支持的平台

的Android黑莓WebWorks的(OS 5.0或更高版本)的iOS的Windows Phone 7( 芒果)

我不知道还有其他人,但在iOS上,在创建文件在/ var /移动/应用/ YOU_APP /文件

[CODE]

 <script type="text/javascript" charset="utf-8"> 

      // Wait for PhoneGap to load 
      // 
      document.addEventListener("deviceready", onDeviceReady, false); 

      // PhoneGap is ready 
      // 
      function onDeviceReady() { 
       window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail); 
      } 

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

      function gotFileEntry(fileEntry) { 
       fileEntry.createWriter(gotFileWriter, fail); 
      } 

      function gotFileWriter(writer) { 
       writer.onwrite = function(evt) { 
        console.log("write success"); 
       }; 

       writer.write("some sample text"); 
       writer.abort(); 
       // contents of file now 'some different text' 
      } 

      function fail(error) { 
       console.log("error : "+error.code); 
      } 

     </script> 

希望它可以帮助

+0

我试过了,没有任何东西似乎被创建,也许我正在寻找他错误的文件位置。你知道创建时文件保存在哪里吗?你是否可以设置你想要保存的文件?谢谢 – 2012-02-28 09:00:52

+0

此功能还适用于所有Android,iOS和Blackberry(主要是iOS)? – 2012-02-28 09:01:52

0

取决于你正在为你开发的设备上可以看看使用它们自己的文件创建API进行检查。例如,iOS使用plists。 Android确实使用.txt文件,请查看link了解更多信息。

+0

你有,你可以指向我往的IOS实施的任何教程?谢谢 – 2012-02-28 09:02:36

+0

如果您使用本地文件创建API,您将需要与您正在开发的操作系统一样多的插件,因为PhoneGap需要加入这些API。 – 2012-02-28 10:00:03