2013-03-12 29 views
2

我在HTML5/Javascript遊戲中使用本地存儲變量來存儲遊戲的高分。這很好,沒有任何問題。但是當我在Android應用程序的Web視圖中包裝遊戲時,有時會出現問題。Android Web視圖中的本地存儲有時不起作用

所以Highscore被保存在本地存儲中,但有時當我關閉應用程序並重新啓動時,高分被重置。但有時候高分還在嗎?!

例如:我開始遊戲,做高分,關閉應用程序,重新啓動,高分丟失,關閉應用程序,重新啓動,高分仍然丟失,關閉它,啓動它再次,然後高分在那裏。

Java中的代碼:

webSettings.setJavaScriptEnabled(true); 
    webSettings.setDatabaseEnabled(true); 
    mywebview.getSettings().setDatabasePath("/data/data/" + mywebview.getContext().getPackageName() + "/databases/"); 
    webSettings.setDomStorageEnabled(true); 

任何想法,是什麼原因造成的問題?

+0

您使用sqlite數據庫..! – Janmejoy 2013-03-12 14:40:37

+0

我在Javascript中使用本地存儲就像這樣:localStorage.highscore(...) – jojosch 2013-03-12 15:11:14

+0

我的假設是,當您正在調試時,您創建的Web查看器是易失性的,不會保留以前會話中的任何內容。當你不做乾淨的重建時,它會起作用,當你重建新鮮時,它會重新開始。 – 2013-03-12 15:28:29

回答

0

我現在使用SharedPreferences作爲解決方案,通過Javascript接口存儲我的高分。這很好。

+0

meh!它不回答這個問題:/ – Kyle 2015-11-13 13:34:03