2013-05-10 66 views
2

這是我第一次嘗試使用Lawnchair。我能夠獲得一個簡單的保存/獲取示例,但只有在相同的應用程序啓動時,get才能工作。在後續的應用程序啓動時,它無法找到我以前保存的對象,因此它看起來不是持久的。Lawnchair + Android + PhoneGap工作,但並不持久

我明白'DOM'是Lawnchair的默認適配器,但我的印象是DOM存儲是持久的。任何想法爲什麼它不適合我?我已經在運行Chrome的Win7機器上以及使用PhoneGap的Android設備上對此進行了測試。同樣,它在單個應用程序啓動的範圍內工作,但存儲的對象不會在隨後的應用程序啓動中保留。我的代碼如下。爲了在後續啓動時測試Get,我只是將實例化和保存部分註釋掉了。

更新:我試圖使用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'); 
    } 
}); 
}); 
+1

加載數據庫時,您的設置代碼(在第4行)是'this.nuke()',所以每次嘗試加載數據庫時,都會刪除其中的所有條目。 – 2014-04-15 19:54:10

回答

1

好了,真的不知道我在做什麼錯的,但重新寫我的代碼更喜歡this example後,我的數據是現在應用程序啓動之間持久的。