简体   繁体   English

在Tizen Web App中保存数据

[英]Saving data in tizen web app

I wrote a app and I need to save its data in local tizen mobile. 我写了一个应用程序,我需要将其数据保存在本地tizen mobile中。 This is the code that I wrote: 这是我写的代码:

    <script type="text/javascript">
        function saveData() {

            var a = document.getElementById('star');
            var b = document.getElementById('checkone');
            var c = document.getElementById('note');
            var d = document.getElementById('med');
            var e = document.getElementById('checktwo');
            var f = document.getElementById('wgt');
            var g = document.getElementById('wgt1');

            /* localStorage.getItem("a");
            localStorage.getItem("b");
            localStorage.getItem("c");
            localStorage.getItem("d");
            localStorage.getItem("e");
            localStorage.getItem("f");
            localStorage.getItem("g"); */

            /* Set the local storage item */
            if ("localStorage" in window) {
                localStorage.setItem(a, star);
                localStorage.setItem(b, checkone);
                localStorage.setItem(c, note);
                localStorage.setItem(d, med);
                localStorage.setItem(e, checktwo);
                localStorage.setItem(f, wgt);
                localStorage.setItem(g, wgt1);
                location.reload();
                alert("Date got")
            } else {
                alert("no localStorage in window");
            }

            /* Set the session storage item */
            if ("sessionStorage" in window) {
                sessionStorage.setItem(a, star);
                sessionStorage.setItem(b, checkone);
                sessionStorage.setItem(c, note);
                sessionStorage.setItem(d, med);
                sessionStorage.setItem(e, checktwo);
                sessionStorage.setItem(f, wgt);
                sessionStorage.setItem(g, wgt1);
                location.reload();
                alert("Data has been set")
            } else {
                alert("no sessionStorage in window");
            }

            window.onload = function() {
                var localhtml = "";
                var sessionhtml = "";

                /* Get the local storage item */
                for (var i = 0; i < localStorage.length; i++) {
                    localhtml += "<li>" + localStorage.key(i) + " : "
                            + localStorage.getItem(localStorage.key(i))
                            + "</li>";
                }
                document.getElementById("localStorageData").innerHTML = localhtml;

                /* Get the session storage item */
                for (var j = 0; j < sessionStorage.length; j++) {
                    sessionhtml += "<li>" + sessionStorage.key(j) + " : "
                            + sessionStorage.getItem(sessionStorage.key(j))
                            + "</li>";
                }
                document.getElementById("sessionStorageData").innerHTML = sessionhtml; 
            }
            tizen.filesystem.resolve('/opt/apps/trial/data', function(
                    dir) {
                documentsDir = dir;
                dir.listFiles(onsuccess, onerror);
            }, function(e) {
                console.log("Error" + e.message);
            }, "rw");

        }
    </script>

In this part: 在这一部分:

tizen.filesystem.resolve('/opt/apps/trial/data', function(
                        dir) {
                    documentsDir = dir;
                    dir.listFiles(onsuccess, onerror);
                }, function(e) {
                    console.log("Error" + e.message);
                }, "rw");

            }

trial is the app Id, I'm not understanding about how to get the app Id from tizen phone. trial是应用程序ID,我不了解如何从tizen手机获取应用程序ID。 And data gets stored successfully, but I'm unable to retrieve the stored data. 数据已成功存储,但是我无法检索存储的数据。

Starting from the end of your question. 从问题的结尾开始。

To get the Application ID (and Package ID) you may use the tizen.application API 要获取应用程序ID (和程序包ID),您可以使用tizen.application API

tizen.application.getCurrentApplication().appInfo.id // returns App Id
tizen.application.getCurrentApplication().appInfo.packageId // returns packageId

Other props like: .name , .version , .iconPath etc. can be found there as well. 其他道具如: .name.version.iconPath等也可以在此处找到。

File access - you may resolve paths using locations relative to a virtual path ( documents , images , music ,...) or use a file:/// prefix for absolute paths. 文件访问 -您可以使用相对于虚拟路径( documentsimagesmusic等)的位置来解析路径,也可以使用file:///前缀作为绝对路径。

Please see the Filesystem API inside SDK docs for reference. 请参阅SDK文档中的Filesystem API以获取参考。

You may also verify that you have the proper privileges defined: 您还可以验证自己是否定义了适当的特权:

http://tizen.org/privilege/filesystem.read
http://tizen.org/privilege/filesystem.write

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM