2011-12-05 66 views
1

我有一個構建在eclipse上的android應用程序。我目前正在做的是在xml文件中隨機提問。 XML文件是這樣的:如何在android應用程序中保存變量的狀態並使用它

<item> 
    <ques></ques> 
    <option1></option1> 
    <option2></option2> 
    <option3></option3> 
    <ans></ans> 
    <level>1</level> 
</item> 
<item> 
    <ques></ques> 
    <option1></option1> 
    <option2></option2> 
    <option3></option3> 
    <ans></ans> 
    <level>1</level> 
</item> 
<item> 
    <ques></ques> 
    <option1></option1> 
    <option2></option2> 
    <option3></option3> 
    <ans></ans> 
    <level>2</level> 
</item> 

等等....

現在我從一個隨機選擇的水平問題。就像第一級50個問題和第二級50個問題一樣。我現在要按順序選擇問題。就像從頭到尾一樣。就像如果用戶A登錄玩遊戲,他會被問到等級1的問題a和b。然後他關閉遊戲並再次登錄,所以他現在應該看到c和d。

我的問題是如何可以將此狀態保存在android中?有沒有簡單的方法來做到這一點?

回答

6

你可以做的是,對每個級別都有它編號

對於1級問題,一個int變量來跟蹤問題的用戶是對的。你可以有

int questionNumber; 
在你的方法

聲明對每個問題的用戶到達

questionNumber++; 

現在,當玩家離開活動或註銷的應用程式。

把題號在Shared Preference這樣的..

SharedPreferences app_preferences = 
     PreferenceManager.getDefaultSharedPreferences(this); 

SharedPreferences.Editor editor = app_preferences.edit(); 
    editor.putInt("questionNumber", questionNumber); 
    editor.commit(); // Very important 

現在拉出來數只使用..

SharedPreferences app_preferences = 
     PreferenceManager.getDefaultSharedPreferences(this); 

    // Get the value for the run counter 
    questionNumber = app_preferences.getInt("questionNumber", 0);// The 0 is there for if the user hastn played before it is set to 0 automatically or you can set it to 1 

編輯:

而且你可以有一個跟蹤用戶所在級別的變量,例如

int userLevel; 

然後將它保存爲共享首選項,就像以前一樣。

1

最簡單的方法是使用共享首選項。有關文檔的指示信息,請參閱指導主題Data Storage

相關問題