Javascript Tizen可穿戴Web小部件应用程序中的文件管理&x27;Tizen SDK 2.3.1的s数据路径

Javascript Tizen可穿戴Web小部件应用程序中的文件管理&x27;Tizen SDK 2.3.1的s数据路径,javascript,tizen,tizen-web-app,tizen-wearable-sdk,Javascript,Tizen,Tizen Web App,Tizen Wearable Sdk,我正在为三星Gear Fit2 Pro开发一款混合tizen应用程序(网络+本机服务)。我想从web ui应用程序创建/设置配置,并将其保存到应用程序的数据路径中,以便本机服务可以加载配置并使用它。 我正在尝试从tizen web app的/opt/usr/apps/pkg id/data创建一个config.txt文件。我尝试过以适当的权限使用tizen的文件系统API,但它总是显示这些API函数是未定义的。但是,如果使用resolve,则文件创建仅适用于某些目录,如文档。但是,如果我的应用程

我正在为三星Gear Fit2 Pro开发一款混合tizen应用程序(网络+本机服务)。我想从web ui应用程序创建/设置配置,并将其保存到应用程序的数据路径中,以便本机服务可以加载配置并使用它。
我正在尝试从tizen web app的
/opt/usr/apps/pkg id/data
创建一个
config.txt
文件。我尝试过以适当的权限使用tizen的文件系统API,但它总是显示这些API函数是未定义的。但是,如果使用resolve,则文件创建仅适用于某些目录,如
文档
。但是,如果我的应用程序的数据文件夹中不存在文件,我想创建一个文件,即
/opt/usr/apps/pkg id/data
,如果已经存在,则对其进行修改。我的代码中尝试写入数据文件夹中文件的相关部分如下所示。
有办法吗?还是我在使用文件系统api时做错了什么

function app_get_datapath() {
    return "/opt/usr/apps/"+tizen.application.getCurrentApplication().appInfo.packageId+"/data/";
}

var fileHandleWrite = tizen.filesystem.openFile(app_get_datapath()+'config.txt', 'w');
fileHandleWrite.writeString(tizen.systeminfo.getCapability('http://tizen.org/system/tizenid'));
fileHandleWrite.close();
以下是权限列表:

我尝试过以适当的权限使用tizen的文件系统API,但它总是显示这些API函数是未定义的

三星Gear Fit2 Pro不支持所有新API。可能您应该参考,但您在代码段中使用的API是

我的第二点意见是,您不应该像在app_get_datapath()中那样使用通过字符串连接“手动”构建的路径。它是一种高度不可移植的解决方案,不能在某些设备上工作。相反,我建议使用内置的虚拟根来获取应用程序私有存储—wgt private,它将自动返回设备上的有效路径(无论设备是什么)

示例(仅使用3.0 API,对于5.0则更容易):

我尝试过以适当的权限使用tizen的文件系统API,但它总是显示这些API函数是未定义的

三星Gear Fit2 Pro不支持所有新API。可能您应该参考,但您在代码段中使用的API是

我的第二点意见是,您不应该像在app_get_datapath()中那样使用通过字符串连接“手动”构建的路径。它是一种高度不可移植的解决方案,不能在某些设备上工作。相反,我建议使用内置的虚拟根来获取应用程序私有存储—wgt private,它将自动返回设备上的有效路径(无论设备是什么)

示例(仅使用3.0 API,对于5.0则更容易):

(function createConfig() {
    function writeConfig(file) {
        file.openStream('w', function (stream) {
            stream.write(tizen.systeminfo.getCapability('http://tizen.org/system/tizenid'));
            stream.close();
            console.log('All done!!')
        })
    }

    tizen.filesystem.resolve("wgt-private/config.txt", function (file) {
        console.log('Config file exists - overwrite');
        writeConfig(file);
    }, function (e) {
        console.log('Config file does not exist - create');
        tizen.filesystem.resolve("wgt-private", function (dir) {
            var file = dir.createFile("config.txt");
            console.log("Created file")
            writeConfig(file);
        });
});
})()