问题标签 [android-sharedpreferences]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
1441 浏览

java - Android:如何在活动 A 中保存 sharedPreferences 并在活动 B 中访问它

我看到以前有人问过这个问题,但是提供的答案都没有对我有用。

所以,我有两个活动:A 和 B。用户在 A 中插入了一些数据,我希望能够从 B 访问它们(以及将来的更多活动)。我正在尝试使用共享偏好来做到这一点。现在看来,我的代码能够正确地将数据保存在活动 A 中,但是我无法从活动 B 访问相同的 sharedPreference,因为对象(在活动 B 中)为空。看起来它创建了另一个具有相同名称的对象。

我对 android 和 java 很陌生,所以我知道可能只是我不明白这个类是如何工作的,我做错了什么?

活动一

活动 B

0 投票
2 回答
171 浏览

android - 使用两个不同的活动编辑 sharedPreferences 以影响第三个活动的更改

我知道所有关于 sharedPreferences 的知识,但我对此感到困惑。我知道把东西放到 sharedPreferences 中,你这样做:

假设这是活动 A:

并在活动 B 中把它拿出来,

然后我们可以将活动 B 中的 textView 设置为:

但是如果我想编辑 Activity C 中的 sharedPreferences 中的内容怎么办?我在网上寻找如何做到这一点,这篇文章在这里

http://codetheory.in/android-application-data-storage-sharedpreferences/

它说你只需要再次调用它,但使用不同的字符串值,就像这样

活动 C:

完成此操作后,它应该将 Activity B 中的 add 更新为 29 而不再是 12。但这就是我的问题所在,它不会编辑 sharedPreferences。还有另一种方法可以做到这一点吗?为什么它不会更新活动 B 中的添加?

0 投票
1 回答
348 浏览

android - 使用带有材质微调器的 sharedPreferences 来更新活动

我在网上找到了这个惊人的 Material 微调器,我可以为我的代码修改它:

所以我使用 sharedPreferences 来存储用户从微调器中选择的任何值,因此当再次调用此页面时,选择在微调器面上。这就是我在 onCreate 中添加首选项的方式:

然后在 onResume 中,我这样做:

但是我的微调器只显示第一个值,我怎么能这样做才能使它工作?我不认为 sharedPrefs 是错误的,但它可能是 onItemSelected() 并且我不确定我还能如何做到这一点?PS:我尝试将每个职位的这一行替换为

而不是我现在拥有的:

但这也没有用。请任何人愿意为我揭示任何想法或材料?我会非常感激

0 投票
3 回答
102 浏览

android - sharedpreferences 得到错误的布尔值

我想为布尔值检查创建一个共享首选项,但该值始终返回 false。如何为 sharedpreferences 返回正确的布尔值?

下面是我的代码

这是获取 sharedpreferences 值的代码

0 投票
2 回答
2372 浏览

java - 当对象具有 ArrayList 属性时,如何使用 gson 将对象列表转换为 json

当我的应用程序首次启动时,我试图在 sharedpreference 中存储一些对象列表,并且我将在后续使用我的应用程序时使用此对象列表。我的课:

我已经使用以下代码行创建了对象列表并存储在 sharedpreference 中:

在将 myObjects 写入 sharedpreference 示例时按预期形成 JSON 字符串:

在随后的使用中,我尝试使用以下代码行填充我的列表:

我能够从 sharedpreferences 存储和生成我的对象列表,而没有属性“d”,它是ArrayList<NameValuePair>类型;

但是,以“d”作为属性之一,我无法生成对象。

显示的错误是:java.lang.RuntimeException:无法为接口 org.apache.http.NameValuePair 调用无参数构造函数。使用 Gson 为这种类型注册一个 InstanceCreator 可以解决这个问题

尝试从存储在 sharedpreference 中的 json 填充对象时引发上述异常

0 投票
1 回答
606 浏览

android - Android Preference - 在 SettingsActivity 中滚动屏幕外时,SwtichPrefence 会发生变化

我有一个非常奇怪的问题。当我在我的设置-活动中滚动时,一些复选框在它们不再被看到时会发生变化。例如:我取消选中广告复选框,然后向下滚动,当复选框完全消失时,复选框重置。这只发生在我取消选中默认值没有任何影响的复选框时。

我的活动:

还有我的 xml 文件:pref_general.xml

pref_notification.xml

pref_audio.xml

我不知道为什么会这样。有些评论是用德语写的,但我认为您可以理解任何内容。有任何想法吗?

这是一个类似的问题,但没有有用的答案:Android Preferences - On/Off Switch Icons Reset When Scrolled Offscreen

0 投票
1 回答
4529 浏览

permissions - 共享偏好和存储权限

我有一些数据保存到我的共享首选项中,我可以访问它,直到我没有在棉花糖的应用程序权限中明确更改存储权限(第一次允许与否无关紧要)。

案例1:当我更改存储权限以允许在运行时执行任何任务时,这工作正常,没有问题。

案例 2:我再次尝试从共享首选项中读取,但这次我在应用程序权限中明确拒绝了存储权限,它因空指针异常而崩溃,

请确认存储权限与外部存储或内部存储以及共享偏好有关。

记录错误:

0 投票
1 回答
68 浏览

android - 从 Sharedpreferences 获取数据所花费的时间,在第一次通话和以后的通话中,相同还是不同?

第一次从共享首选项中获取数据所需的时间是相同的还是不同的,然后是第二次、第三次或第四次?

0 投票
3 回答
1488 浏览

android - 如何从其他活动更新 SharedPreference?

我在我的 LogIn 类中创建了 SharedPreference 并输入了一个方法 SavedPreference()

登录.java

现在在我的其他活动中,我想通过调用方法并在单击确定按钮后添加这些参数来更新它或将字符串放入其中。

菜单.java

但是点击确定后,我的应用程序崩溃了,LogCat 显示了这个

LogIn.java:191 是这个SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());

和 Menu.java:133 是这个logIn.SavePreferences("password",newpassword);

0 投票
1 回答
78 浏览

java - 究竟是什么导致了这个 NullPointerException?

我对 Android 开发非常陌生,目前正在开发一个应用程序,该应用程序应该在按下按钮时保存当前时间和日期,将其存储到 SharedPreferences 中,然后在按下不同按钮时显示字符串。我让它工作了,但今天做了一些修补,现在我得到了一个我无法解决的 NullPointerException,即使在 Google 和 Stackoverflow 上花了大约 45 分钟尝试不同的代码片段之后也是如此。谁能比我更擅长告诉我我错过了什么?

以下是相关代码:

以下是错误: