Постоянные данные для приложений PhoneGap

EDIT # 2 - Ответы до сих пор (через 2 дня) - это личные мнения и предпочтения, а не анализ различных опций, которые приложение offline-phoneGap должно легко хранить простые данные во всех соответствующих устройствах. Поэтому я не принял никакого ответа, но я следую этому вопросу.

Я немного смущен тем, какой формат постоянных данных я должен изучать для веб-приложения PhoneGap, которое я создаю. Я изучал это, но все не ясно, учитывая мои посредственные требования.

Приложение представляет собой обучающее приложение со 100 или около того вопросов с несколькими вариантами выбора и некоторые игры для запоминания.

Приложение после загрузки может оставаться в автономном режиме.

Это для всех поддерживаемых телефоном устройств.

Единственными данными, которые я хочу читать и писать, является производительность пользователя, количество раз неправильное в общем, за карточку и т.д. и любые высокие оценки для игр.

Это все очень простая информация и может храниться в очень простых js-объектах.

Я хотел бы, чтобы это было довольно простое решение и очень легко поддерживать/повторять.

Каким будет мой лучший вариант? Файл телефонной заставки api? JSON/lawnchair? локальное хранение? печенье? Будет ли способ "обновить" приложение и сохранить его как объект в javascript? WebSQL? sqilite? API хранения?

Некоторые из них кажутся излишними.

ИЗМЕНИТЬ Существуют ли различия в устройствах, и я должен сделать некоторые обнаружения устройств и использовать разные технологии?

Ответ 1

Мне лично нравится localStorage. Это прямо вперед и отлично работает для большинства ситуаций.

Если вы просто записываете данные, упомянутые выше, localStorage будет идеально. Я бы просто серализовал ваши объекты данных, превратив их в строку, используя say JSON.stringify(), а затем, вернув ее в использование JSON.parse(), чтобы вернуть ее обратно в пригодный для использования объект JS.

Ответ 2

Как пробовать мою библиотеку http://dev.yathit.com/ydn-db/getting-started.html, поддерживаемый IndexedDB (отличная производительность, запрос по индексу), WebSQL (хорошая производительность, SQL запрос) или localStorage (справедливая производительность, отсутствие запроса, получение ключа, ограничение 2,5 МБ).

db = new ydn.db.Storage('test-store');

db.put('store1', {test: 'Hello World!'}, 123);

req = db.get('store1', 123);
req.done(function(record) {
  console.log(record);
});

Высокая производительность, хотя и остается легкой.

Не нравится зависимость библиотеки, используйте исходный код https://bitbucket.org/ytkyaw/ydn-db

Ответ 4

Я использую localStorage для хранения постоянных данных, но это как-то не так надежно. Я видел, как некоторые данные были потеряны, но я не знаю почему. Но мое постоянное использование данных не так критично, поэтому я не против этих несоответствий.

Но ваш случай кажется более важным. Я сохранил бы свои постоянные данные в папке Documents, File API.

Ответ 5

Телефонная книга поддерживает локальную поддержку SQL Lite http://docs.phonegap.com/en/2.2.0/cordova_storage_storage.md.html#Storage

Извините, у меня больше нет информации. Меня заинтересовала эта тема, и мне довелось встретить ее.