Sencha Touch LOcal Storage в мобилни приложения

Планирам да използвам Sencha Touch за приложение на моята компания. Прочетох, че локалното хранилище съхранява данни в браузъра на клиента. МОЯТ проблем е, когато създам кода към родното приложение с помощта на Sencha CMD, как работи локалното хранилище? Каква е алтернативата на локалното съхранение за запазване на някои данни, предполагащи потребителски данни (така че потребителят не трябва да влиза винаги).

Благодаря предварително


person Vikash Agrawal    schedule 11.06.2013    source източник
comment
може да намерите тази връзка stackoverflow.com/questions/14642944/ полезно.   -  person SachinGutte    schedule 12.06.2013


Отговори (2)


localStorage

Това е много лесен за използване интерфейс, който работи синхронно. Той съхранява низове (можете да JSON.stringify други Javascript обекти) като двойки ключ-стойност и вие просто задавате стойността с ключ по следния начин:

localStorage.setItem('key', 'value');

Чета:

var value = localStorage.getItem('key');

който връща value или null, ако ключът не е намерен в хранилището.

Вие можете да го използвате като обект:

localStorage['key'] = 'value';
var value = localStorage['key'];

това обаче не е препоръчителният подход. В този случай undefined ще бъде върнат за несъществуващи елементи.

Повече подробности:
http://www.w3.org/TR/2013/PR-webstorage-20130409/
http://diveintohtml5.info/storage.html

Индексирана база данни

База данни, която замества вече отхвърлената Web SQL. Работи асинхронно и е малко по-трудно за разбиране, тъй като използва магазини, заявки и транзакции, за да се справи с данните.

Можете да съхранявате всякакъв вид обекти в IndexedDB (Javascript обекти, Blobs (файлове)).

Можете също да поискате място за съхранение. Потребителят ще бъде предупреден, ако имате нужда от повече от 5 mb (5 mb не са дефинирани, но изглежда е ограничението, което повечето браузъри задават, преди да поискат разрешение от потребителя).

Вижте тук за подробности как можете да го използвате:
http://www.w3.org/TR/IndexedDB/
http://www.html5rocks.com/en/tutorials/indexeddb/todo/

Уеб SQL

Въпреки че, както споменахме, е остарял, той все още се поддържа в браузъри като Safari. Това е база данни, която работи със SQL заявки и заявки и работи асинхронно.

Ето още подробности:
http://www.w3.org/TR/webdatabase/
http://html5doctor.com/introducing-web-sql-databases/

API за файлове

В момента се поддържа само в Chrome. Това е виртуална файлова система, която работи асинхронно като IndexedDB, но е предназначена за големи файлове (видео и аудио файлове и т.н.), но също толкова лесно може да се използва за съхраняване на други данни.

Можете да съхранявате всякакъв вид обекти във File API като Blobs (файлове). Тъй като това е виртуална файлова система, можете да навигирате с помощта на папки.

Можете също така да поискате място за съхранение тук (квота).

За подробности:
http://www.html5rocks.com/en/tutorials/file/dndfiles/
http://www.w3.org/TR/FileAPI/

И разбира се има cookies и за IE UserData, но те са много ограничени.

person Community    schedule 12.06.2013
comment
Не отговаря на въпроса, тъй като не показва как да използвате localstore в Sencha Touch. - person Tony O'Hagan; 17.09.2014

Този пример демонстрира как да използвате локално хранилище с обекти на модел Sencha Touch:

Ако искате да превключите и синхронизирате данни от онлайн към офлайн, може също да се интересувате от този пример:

person Tony O'Hagan    schedule 16.09.2014