【问题标题】:Adding Preference Values添加首选项值
【发布时间】:2014-02-19 06:34:41
【问题描述】:

我想知道如何在 android 中添加 2 个偏好值?即考虑一个有硬币来获得生命的游戏,然后说用户选择不使用该硬币并再次开始游戏。现在假设他还有更多硬币。所以我的问题是如何添加旧的未使用硬币+新获得的硬币?

【问题讨论】:

  • 可以在Sqlite数据库中添加..
  • @PrashantMishra 除了数据库之外还有其他选择吗?即使用共享首选项来存储和添加两个首选项值?
  • 在您的应用中创建偏好活动并在其中显示您的总硬币并更新它...stackoverflow.com/a/9278088/1765530
  • @PrashantMishra ?
  • 正如您的问题所说,您必须更新值.. 最好使用 sq lite.. 您也可以通过更新 Score Field 的值来使用 SP.. 并使用其他字段来检查是否他是否使用硬币。

标签: android sharedpreferences


【解决方案1】:

你可以使用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);

【讨论】:

    【解决方案2】:
    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--;
    }
    

    【讨论】:

    • 让我说得简单点,这些代码是否会增加偏好值,比如以前游戏中的 2 个硬币 + 新游戏中的 5 个硬币 我需要显示 7 个硬币,用户必须能够从这 7 个中减少硬币。
    • 已更新。每次用户做某事并产生硬币时,您都会递减,而不是使用 while 循环。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-28
    相关资源
    最近更新 更多