Java 应用程序重新启动时保存视图状态

Java 应用程序重新启动时保存视图状态,java,android,Java,Android,我目前是android新手,正在开发一个笔记应用程序,所以请耐心等待我。在菜单中,我实现了一个选项,用户可以根据需要更改视图(列表或网格) 这很好用。但是,我希望应用程序在用户最初选择的选定视图中打开。例如,如果用户在gridview中关闭了应用程序,则应用程序应在重新启动时在gridview中打开 我知道我需要使用共享首选项或其他方式持续保存数据。但是我需要确切地知道我需要做什么。您需要持久化数据是正确的,但您有选择。你说这是一个笔记应用程序,你在哪里保存你的笔记 您可以将应用程序的状态存储在

我目前是android新手,正在开发一个笔记应用程序,所以请耐心等待我。在菜单中,我实现了一个选项,用户可以根据需要更改视图(列表或网格)

这很好用。但是,我希望应用程序在用户最初选择的选定视图中打开。例如,如果用户在gridview中关闭了应用程序,则应用程序应在重新启动时在gridview中打开


我知道我需要使用共享首选项或其他方式持续保存数据。但是我需要确切地知道我需要做什么。

您需要持久化数据是正确的,但您有选择。你说这是一个笔记应用程序,你在哪里保存你的笔记

您可以将应用程序的状态存储在共享首选项中,如文档中所述。您可以将应用程序状态以及所有注释存储在数据库中,例如关系数据库,其中有大量教程和主文档,或者存储在数据库中,例如,将对象保存到数据库中


我将研究这些选项,并实施一个。然后,在应用程序启动时,检查您已保存的“应用程序状态”,并相应地调整UI

如果您想在共享首选项中保存数据,下面是一种方法

首先,您需要创建SharedReferences和SharedReferences的实例。编辑器:

private SharedPreferences settings = context.getSharedPreferences("*Desired preferences file", Context.MODE_PRIVATE);
*所需的首选项文件。如果此名称的首选项文件不存在,则在检索编辑器时将创建该文件 (sharedReferences.edit())然后提交更改(Editor.commit())

如果需要保存字符串,请执行以下操作:

 editor.putString(key, val).commit()
不要忘记执行.commit()

要从SharedReferences获取字符串,请执行以下操作:

String str = settings.getString(key, "");
保存整数:

只需使用:

editor.putInt(key,val.commit()


等等。

谢谢@calcoa。我正在将笔记保存在用户的设备存储器中。所以我认为使用共享偏好对我来说是最好的选择。怎么样?保存共享首选项对于您正在做的事情很好,下面的Fridman展示了一个很好的例子。我将使用活动生命周期方法,将应用程序状态保存到onPause()中的共享首选项。这样,您将始终确保保存上次使用的状态。
 editor.putString(key, val).commit()
String str = settings.getString(key, "");