Локальное хранилище Sencha Touch в мобильных приложениях

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

Заранее спасибо


person Vikash Agrawal    schedule 11.06.2013    source источник
comment
вы можете найти эту ссылку stackoverflow.com/questions/14642944/ полезно.   -  person SachinGutte    schedule 12.06.2013


Ответы (2)


местное хранилище

Очень простой в использовании интерфейс, который работает синхронно. Он хранит строки (вы можете 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, BLOB-объекты (файлы)).

Вы также можете запросить место для хранения. Пользователь будет предупрежден, если вам нужно больше 5 МБ (5 МБ не определено, но, по-видимому, это предел, установленный большинством браузеров, прежде чем запрашивать разрешение у пользователя).

Подробнее о том, как его использовать, см. здесь:
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/introduction-web-sql-databases/< /а>

Файловый API

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

Вы можете хранить любые объекты в File API в виде больших двоичных объектов (файлов). Поскольку это виртуальная файловая система, вы можете перемещаться по папкам.

Вы также можете запросить место для хранения здесь (квота).

Подробнее:
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