Это моя первая попытка использования Lawnchair. Я смог получить простой пример save/get, но, похоже, он работает, пока он находится в одном запуске приложения. При последующих запусках приложений он не может найти объект, который я ранее сохранил, поэтому кажется, что он не является постоянным.Lawnchair + Android + PhoneGap работает, но не постоянно
Я понимаю, что «DOM» является адаптером по умолчанию для Lawnchair, но у меня создалось впечатление, что хранилище DOM является постоянным. Любые идеи относительно того, почему он не работает для меня? Я тестировал это на машине Win7 с Chrome, а также на Android-устройстве, использующем PhoneGap. Опять же, он работает в рамках одного запуска приложения, но хранящиеся объекты не сохраняются при последующих запусках приложений. Мой код ниже. Чтобы проверить Get на последующих запусках, я просто прокомментировал создание экземпляра и сохранил части.
UPDATE: Я попытался использовать Google Gears sqlite adapter, но при отладке, он получил вешали на первой линии, где я создаю экземпляр, и никогда не прошел мимо этой точки. Все это кажется таким простым, но не может заставить его работать. Что дает?
new Lawnchair({
adapter: "dom",
name: "ce-app-db"
}, function() {
this.nuke();
});
Lawnchair({ name: 'ce-app-db' }, function() {
alert('storage open - save');
this.save({ key: 'insps', value: msg });
});
Lawnchair({ name: 'ce-app-db' }, function() {
alert('storage open - get');
this.get('insps', function (obj) {
if (obj) {
var index = 0;
$.each(obj.value, function (i, item) {
if (item != null) {
index++;
}
});
alert(index + ' cases found');
}
else {
alert('cases not found');
}
});
});
Код установки (в строке 4) при загрузке базы данных - это 'this.nuke()', поэтому каждый раз, когда вы пытаетесь загрузить базу данных, вы удаляете все записи в ней. –