Сохранение данных в веб-приложении tizen

Я написал приложение, и мне нужно сохранить его данные в локальном мобильном телефоне Tizen. Это код, который я написал:

    <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>

В этой части:

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

            }

trial - это идентификатор приложения, я не понимаю, как получить идентификатор приложения с телефона tizen. И данные успешно сохраняются, но я не могу получить сохраненные данные.


person qwertymaster    schedule 24.12.2014    source источник
comment
Какой Tizen SDK вы используете?   -  person veritas    schedule 29.12.2014
comment
Я использую Tizen 2.3 Beta SDK.   -  person qwertymaster    schedule 29.12.2014


Ответы (1)


Начиная с конца вашего вопроса.

Чтобы получить идентификатор приложения (и идентификатор пакета), вы можете использовать tizen.application API.

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

Там же можно найти и другие реквизиты, такие как: .name, .version, .iconPath и т. д.

Доступ к файлам. Вы можете разрешать пути, используя расположения относительно виртуального пути (documents,images,music,...) или использовать префикс file:/// для абсолютных путей.

Для справки см. Filesystem API внутреннюю документацию SDK.

Вы также можете убедиться, что у вас есть соответствующие привилегии:

http://tizen.org/privilege/filesystem.read
http://tizen.org/privilege/filesystem.write
person veritas    schedule 29.12.2014