如何从上次活动启动我的应用程序(保存进度)

时间:2017-10-30 04:00:48

标签: android

我正在用java构建一个多选题故事游戏。有许多按钮(选项)可以引导您进入另一个改变故事的活动。显然,当您再次关闭并打开应用程序时,您必须从第一个活动开始。你知道可以保存进度的东西(带变量的按钮)还是别的东西?

2 个答案:

答案 0 :(得分:0)

如果你想在android中存储更多变量,你必须使用数据库。如果您想存储一个或更少数量的变量,可以使用Android - 共享首选项enter link description here 在您重新安装或更新应用程序之前,它不会更改变量值。

答案 1 :(得分:0)

您可以简单地使用SharedPreferences,每次更改进度时更新保存的值,如下所示:

SharedPreferences sharedPref = context.getSharedPreferences("TheFileName", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putString("currentStory", currentStory); // store currentStory or currentProgress here
editor.apply();

现在,当应用程序打开时,您可以查看当前的故事/进度,例如:

sharedPref.getString("currentStory","");

然后根据进度打开相应的活动。

以防万一,如果你想删除SharedPreferences中的任何密钥,你可以这样做:

sharedPref.edit().remove("shared_pref_key").commit();

或者,要清除所有数据:

sharedPref.edit().clear().commit();

您可以像这样在Activity开始切换活动:

String currentStory = sharedPref.getString("currentStory","");

if(currentStory.equals("story1")){
    startActivity(new Intent(...)) // Activity for story1
}else if(currentStory.equals("story2")){
    startActivity(new Intent(...)) // Activity for story2
}
...
# similarly for other stories