寻找有关如何在我的Android应用中存储和访问游戏信息的建议

时间:2016-02-19 01:29:00

标签: java android

我目前正在使用Java在Android Studio中制作一个简单的RPG,并且无法确定存储和修改游戏变量的最佳方式,例如玩家名称,金钱等。

我看过的视频和资源提供了多种解决方案,例如使用捆绑包将变量传递到不同的意图,使用单例,使用共享首选项或仅使用静态变量。

最初,我计划在主活动中使用'PlayerInfo'类的实例来存储信息,并使用bundle来传递数据,但是,因为几乎每个活动都需要数据,这是最好的方法?

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

在您的情况下,理想的选择是使用SharedPreferences并将项目存储为键值对!您可以这样写入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文件中读取:

 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);

如果您认真对待,这是一个关于共享偏好的完整tutorial

注意: Sharedpreferences只有在您保存的数据很少的情况下才是一个不错的选择,如果您的数据很大并且两者之间存在关系,则会建议您使用{{ 3}}或Sqlite