gpt4 book ai didi

java - 通过sharedPreferences在一项 Activity 中保存和加载

转载 作者:行者123 更新时间:2023-12-01 10:26:10 24 4
gpt4 key购买 nike

所以我想做的是通过sharedPreferences将用户当前取得的进度保存在Textviews.java中。例如。该 Activity 包含多个 TextView 以及用户在其中键入的内容。当用户按回键时,它应该保存在 TextView 中键入内容的当前状态。一旦用户按下 Main.java 上的退出按钮,就会出现一个警告对话框,询问用户是否要保存输入的内容。如果他选择"is",则保存并关闭应用程序,如果不选择,则不保存并关闭应用程序。

到目前为止,我已经成功地保存了用户在 Textviews.java 内按回键时所做的操作,但我有几个问题,当用户在警报上按"is"时,出现警报对话框时如何提交保存对话。此外,当用户返回 Textviews Activity 时加载数据。

我有几个关于共享首选项的问题。1)在整个应用程序中,是否只能有一个sharedPreference()对象来存储数据?或者可以有多个对象。如果允许多个对象,那么 1 个 Activity 本质上是否获得一个 sharePreference 对象,或者一个 Activity 是否可以拥有多个 sahrepreference 对象来存储其数据?2) 我如何访问其他 Activity 共享偏好数据?3) 我如何知道共享首选项文件是否存在?

最佳答案

1) Throughout the WHOLE app, can it only have one sharedPreference() object to store their data in? Or can there be multiple objects. If multiple objects is allowed, then does 1 activity essentially get one sharePreference object or can one activity have several sahrepreference objects to store their data?

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

getSharedPreferences(SHARED_PREFS_FILE_NAME, Context.MODE_PRIVATE);

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

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

2) How can I access other activities shared preference datas? 3) How can I know if a sharedpreference file exists?

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

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

您可以从应用中的任何位置保存数据,也可以从任何位置取回数据,请确保在 getSharedPreferences 中传递相同的 SharedPreferences 名称

这就是 Android Document说的是[getSharedPreferences][1]

public abstract SharedPreferences getSharedPreferences (String name, int mode)

Retrieve and hold the contents of the preferences file 'name', returning a SharedPreferences through which you can retrieve and modify its values. Only one instance of the SharedPreferences object is returned to any callers for the same name, meaning they will see each other's edits as soon as they are made.

编辑:- 要删除共享首选项特定值或清除完整文件,请按照以下步骤 Reference answer

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

将它们全部删除 SharedPreferences.Editor.clear() 后跟 commit()

关于java - 通过sharedPreferences在一项 Activity 中保存和加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35352051/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com