PhoneGap Build - 如何将文件保存到移动设备?

Posted

技术标签:

【中文标题】PhoneGap Build - 如何将文件保存到移动设备?【英文标题】:PhoneGap Build - How do I Save a file to a mobile device? 【发布时间】:2015-03-19 16:04:02 【问题描述】:

我是 phoneGap 的新手,也是一名 javascript 程序员新手。我创建了一个简单的应用程序,它适用于 phonegap 构建。我可以上传文件,它给了我一个 android 应用程序或 ios 应用程序。我需要做的是让应用程序保存一个首选项文件。例如。我有一个带有单选按钮的设置屏幕,允许用户选择……如果他们想要应用程序中的蓝色或黑色背景,或者他们想要打开或关闭声音。它工作正常,直到您重新加载应用程序,然后它恢复到默认设置,因为我没有保存设置的选项。是否可以将首选项保存到文本或 xml 文件并将其保存到设备中?我不知道从哪里开始,甚至不知道如何让 javascript 创建一个文件以保存在移动设备上,甚至是我的本地计算机上。有人能指出我正确的方向吗?

【问题讨论】:

【参考方案1】:

使用本地存储数据库。它将帮助您保存高达 5 mb 的数据。像这样的小东西可以轻松存放。

保存在本地存储中使用

localStorage.setItem("key",value);

找回来

mysettingvar1=localStorage.getItem("key");

如果您仍想将其保存在文件中,则有文件插件。 Installation & documentation are in this link

文件编写示例

<!DOCTYPE html>
<html>
  <head>
    <title>FileWriter Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">

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

    // device APIs are available
    //
    function onDeviceReady() 
        window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);
    

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

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

    function gotFileWriter(writer) 
        writer.onwriteend = function(evt) 
            console.log("contents of file now 'some sample text'");
            writer.truncate(11);
            writer.onwriteend = function(evt) 
                console.log("contents of file now 'some sample'");
                writer.seek(4);
                writer.write(" different text");
                writer.onwriteend = function(evt)
                    console.log("contents of file now 'some different text'");
                
            ;
        ;
        writer.write("some sample text");
    

    function fail(error) 
        console.log(error.code);
    

    </script>
  </head>
  <body>
    <h1>Example</h1>
    <p>Write File</p>
  </body>
</html>

如果您需要设置一些偏好,我相信本地存储会更好。只需从本地存储检查页面加载中的首选项 $ 根据它应用 css。

【讨论】:

以上是关于PhoneGap Build - 如何将文件保存到移动设备?的主要内容,如果未能解决你的问题,请参考以下文章

如何将文件保存到 iOS 的 Library/NoCloud 文件夹?

WebView 应用程序(PhoneGap Build),重启后不保存 localStorage

使用 PhoneGap 从 img 标签本地保存图像

如何使用 Phonegap 命令行工具为 iOS 发布 Build?

如何从 PhoneGap Build 中的 PushNotification 获取键/值数据

在PhoneGap Build中更改默认名称PG Build App