通过sharedPreferences

时间:2016-02-11 23:21:12

标签: java android

所以我要做的是通过sharedPreferences保存用户在Textviews.java中所做的当前进度。例如。该活动包含多个textview和用户类型。当用户按下时,它应该保存textview中输入内容的当前状态。 一旦用户按下Main.java上的退出按钮,就会出现一个警告对话框,询问用户是否要保存他输入的内容。如果他选择是,则保存并关闭应用程序,如果没有,则不会保存并关闭应用程序。

到目前为止,我已经设法保存用户在Textviews.java中按下时所执行的操作,但是当用户按下“是”时,我有几个关于如何在提示保存对话框时提交保存的问题39;在警报对话框中。此外,当用户返回Textviews活动时加载数据。

我有几个关于sharedPreferences的问题。 1)在整个WHOLE应用程序中,它只能有一个sharedPreference()对象来存储它们的数据吗?或者可以有多个对象。如果允许多个对象,那么1个活动本质上是一个sharePreference对象,还是一个活动有多个sah表示对象来存储它们的数据? 2)如何访问其他活动共享首选项数据? 3)如何知道共享首选项文件是否存在?

1 个答案:

答案 0 :(得分:1)

  

1)在整个WHOLE应用程序中,它只能有一个sharedPreference()对象来存储它们的数据吗?或者可以有多个对象。如果允许多个对象,那么1个活动本质上是一个sharePreference对象,还是一个活动有多个sah表示对象来存储它们的数据?

可以有多个共享首选项。当您尝试获取SharedPreference的实例时,您将为其命名。

getSharedPreferences( SHARED_PREFS_FILE_NAME ,Context.MODE_PRIVATE);

SHARED_PREFS_FILE_NAME是共享偏好的名称。如果您在不同的地方提供不同的名称,您将创建多个共享首选项。

SharedPreference是XML文件,不同的文件名,不同的SP。

  

2)如何访问其他活动共享首选项数据? 3)如何知道共享首选项文件是否存在?

当您调用此方法时>> getSharedPreferences( SHARED_PREFS_FILE_NAME ,Context.MODE_PRIVATE);

它检查sharedPreference文件是否存在,如果存在,它将打开现有文件,或者将创建新文件。

您可以从应用中的任何位置保存数据,并可以从任何地方取回数据,确保在getSharedPreferences

中传递相同的SharedPreferences名称

以下Android Document[getSharedPreferences][1]

的说法
public abstract SharedPreferences getSharedPreferences (String name, int mode)
  

检索并保留首选项文件' name'的内容,返回SharedPreferences,您可以通过它来检索和修改其值。只有一个SharedPreferences对象实例返回给同名的任何呼叫者,这意味着他们一旦完成就会看到彼此的编辑。

修改: - 要删除特定于共享首选项的值或完成文件清除,请按照下面的 Reference answer

进行操作

要删除特定值:SharedPreferences.Editor.remove()后跟commit()

要删除所有SharedPreferences.Editor.clear()后跟commit()