Постоянные данные для приложений 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
Ответ 3
Похоже, что это хорошие, хотя я их не пробовал.
Если вы используете ионную структуру которая использует AngularJS, мне нравится ngStorage. Этот я попробовал и это потрясающе.
Ответ 4
Я использую localStorage для хранения постоянных данных, но это как-то не так надежно. Я видел, как некоторые данные были потеряны, но я не знаю почему. Но мое постоянное использование данных не так критично, поэтому я не против этих несоответствий.
Но ваш случай кажется более важным. Я сохранил бы свои постоянные данные в папке Documents, File API.
Ответ 5
Телефонная книга поддерживает локальную поддержку SQL Lite
http://docs.phonegap.com/en/2.2.0/cordova_storage_storage.md.html#Storage
Извините, у меня больше нет информации. Меня заинтересовала эта тема, и мне довелось встретить ее.