2014-02-19 101 views
0

我想知道如何在android中添加2個偏好值?即考慮一個遊戲中有硬幣來獲得生命,並說用戶選擇不使用該硬幣並再次開始遊戲。現在讓我們說他有更多的硬幣。所以我的問題是如何添加舊的未使用的硬幣+新獲得的硬幣?添加偏好設置

+0

您可以將其添加到Sqlite數據庫.. –

+0

@PrashantMishra是否有其他任何選擇,除了database.ie使用共享首選項來存儲和添加兩個首選項vlaues? –

+0

在您的應用程序創建偏好活動,並顯示您的總硬幣,並更新它... http://stackoverflow.com/a/9278088/1765530 – appukrb

回答

0

您可以使用SharedPreferences作爲

寫入共享偏好使用:

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE); 
SharedPreferences.Editor editor = sharedPref.edit(); 
editor.putInt(getString(R.string.saved_high_score), newHighScore); 
editor.commit(); 

,並從共享偏好閱讀使用方法:

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE); 
int defaultValue = getResources().getInteger(R.string.saved_high_score_default); 
long highScore = sharedPref.getInt(getString(R.string.saved_high_score), defaultValue); 
0
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); 
prefs.edit().putInt("lifecoin", 5).commit(); 

可以說用戶在這裏留下5個硬幣。現在你使用while循環是這樣的:

int leftovercoin = 0; 
try 
{ 
    leftovercoin = prefs.getInt("lifecoin", 0); 
} 
catch(Exception e) 
{ 
    Log.e("Error while getting shared pref", "Error while getting shared pref", e); 
} 
//add your new level's coins(5 of them) to the leftovercoins from last stage 
leftovercoin = leftovercoin + 5; //here leftovercoin would be 10 because the shared preference has given it a value of 5 at first 
while(leftovercoin>0) 
{ 
     //spawn your coins here 
     leftovercoin--; 
} 
+0

讓我簡單的做這些代碼增量優先值的任何說前面的遊戲中的2個硬幣+新遊戲總共5個硬幣我需要顯示7個硬幣和用戶必須能夠從這7個硬幣減少。 –

+0

已更新。而不是使用while循環,每當用戶做一些事情併產生一枚硬幣時,就會減少它。 – Orphamiel