退出时如何保存活动的状态? Android的

我有一个带文本输入的基本应用程序,一个微调器输入和第二个微调器输入,其数组取决于在“选项”菜单中更改的设置。

目前,当我在我的应用程序中按Home或按Return键时,我要么返回桌面,要么循环返回我最近输入的旧输入。

如何阻止我的应用程序打开自身的多个实例,以便在任何给定时间只运行一个实例,然后如何将输入的数据保存到输入中,以及在我的选项菜单中选择的设置?

我对Java有点新意,所以如果这是一个简单的问题我会道歉。

在你的活动中覆盖onSaveInstanceState和onRestoreInstanceState。 这些方法允许您将数据保存到Bundle中您还可以将数据保存到Preferences 。 在我的所有应用程序中,我都覆盖了onSaveInstanceState和onRestoreInstanceState,以便将值保存并加载到Bundle。 我还将数据保存到onPause中的首选项和onResume中的加载首选项。 同样在onCreate(Bundle savedInstanceState)中我做了这样的检查

if(savedInstanceState != null) { m_mainView.restoreInstanceState(savedInstanceState); } else { m_mainView.loadGameFromDatabase(getPreferences(MODE_PRIVATE)); } 

这些做法一直对我有用。

您必须在活动中使用onPause重写方法并将数据保存在某处(可能是共享首选项)。 然后onResume你必须从持久存储中读回它们并填充你的控件。

当你想要处理后退或主页按钮按下时, onSaveInstanceStaterestoreInstanceState不是你的朋友。