2012-06-25 45 views
2

所以我初始化一切:的PhoneGap:不能讓localStorage的堅持

var Store = new Lawnchair({table:'mightapp', adaptor:'gears'}, 
    function(s) { 
    var obj = {msg: 'hooray!'}; 

    s.save({key: "msg", value: obj}); 
}); 

然後我註釋掉,以測試它是否堅持了消息......

var Store = new Lawnchair({table:'mightapp', adaptor:'gears'}, 
    function(s) { 
    //var obj = {msg: 'hooray!'}; 

    //s.save({key: "msg", value: obj}); 
}); 

,並沒有 - - 我究竟做錯了什麼?我正在做一個健身應用程序,我需要非常永久堅持人的鍛鍊/鍛鍊狀態......我應該只是做一些文件I/O?

回答

2

dom適配器爲我工作得很好。這裏是我用來在應用程序重啓時保存數據的代碼。

<script type="text/javascript"> 
    var store = new Lawnchair({ 
     adapter: "dom", 
     name: "testing" 
    }, function(store) { 
    }); 

    store.exists('dhaval', function(available){ 
     var preStr = ""; 

     // check whether required data is available, if not create it 
     if(available){ 
      preStr = "data is already available, "; 
     }else{ 
      preStr = "data is not available, "; 
      var me = { 
       key: 'dhaval' 
      }; 

      // save it 
      store.save(me); 
     } 

     // access it later... even after app restart! 
     store.get('dhaval', function(me) { 
      $("#data").html(preStr + JSON.stringify(me)); 
     }); 
    }); 
</script> 

完整的源檢查混帳回購協議android-cordova-lawnchair

+0

我這樣做而它現在所有的工作了罰款,好像......不知道怎麼感謝你纔好 '\t \t \t商店=新Lawnchair({適配器: 「DOM」,名稱: 'mightapp'}!, \t \t \t \t函數(){ \t \t \t \t \t this.save({key:「msg」,value:{msg:'hooray!'}}); \t \t \t \t});' – EricCarmichael

+0

很高興它爲你工作 – dhaval

+0

嗨@dhaval我很高興看到這個解決方案。然而,它並沒有爲我工作。應用程序從我的Android設備上的RAM中刪除後,包括localStorage在內的所有內容都消失了。那麼有沒有辦法來防止這種情況?謝謝 – SolessChong

1

試試你的適配器切換到「DOM」,因爲我不認爲「齒輪」在瀏覽器中支持了。

+0

感謝您的意見,但我使用DOM(默認值)之前,我試圖齒輪:( ,但我會再試一次,無論 – EricCarmichael