2

请告诉我如何存储关卡信息(如愤怒的小鸟关卡显示屏幕包含******与我的 Android 游戏相同)。

4

1 回答 1

6

您可以使用SharedPreferences存储它们。

public void saveDataToPreferencesFile(Context ctx, String filename, String...data) {
        SharedPreferences prefs = ctx.getSharedPreferences(filename, 0);
        SharedPreferences.Editor editor = prefs.edit();     

        for(int i = 0; i < data.length; i += 2) {
            editor.putString(data[i], data[i + 1]); 
        }

        editor.commit();
}

您可以在哪里拨打以下电话:

saveDataToPreferencesFile(context, "scores", new String [] {"score", "3"});

然后,您可以通过执行以下操作来读取该值:

public String readDataFromPreferencesFile(Context ctx, String filename, String key) {
        SharedPreferences prefs =  ctx.getSharedPreferences(filename, ctx.MODE_PRIVATE);

        return installationSession.getString(key, "0");
    }

并拨打以下电话:

readDataFromPreferencesFile(context, "scores", "score");

这比使用SQLite存储它们更容易和更轻松(除非你真的需要关系模型)。

于 2011-12-30T09:07:00.960 回答