问题标签 [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 投票
3 回答
2695 浏览

java - 如何使用 SharedPreference 保存自定义 ArrayList?

我想知道如何将自定义 ArrayList 保存到 Android 手机中。因为它习惯于在过滤器活动中使用它。我应该将这些信息保存在任何地方。

0 投票
3 回答
1451 浏览

android - 使用共享首选项来记住用户在 Android 中喜欢的字体大小

我正在开发一个移动歌本安卓应用程序。我已启用放大或缩小文本。我希望应用程序能够记住当用户关闭一首特定歌曲时用户喜欢的特定字体大小,甚至当用户关闭应用程序并再次打开它时更好。这是我尝试这样做的方法:

这是整个班级:

尝试调用方法和方法声明时出现错误。我是这方面的菜鸟,所以请给我所有你认为可以帮助我的细节,无论它多么微不足道。

0 投票
2 回答
2499 浏览

android - 设置更新后如何重新启动此壁纸引擎?

我正在创建动态壁纸,并以本教程为起点:

http://code.tutsplus.com/tutorials/create-a-live-wallpaper-on-android-using-an-animated-gif--cms-23088

我正在尝试添加一个设置菜单,让用户选择四种背景之一。我使用SharedPreferences. 唯一的问题是在设置菜单中更改设置后壁纸不会更新。如果您重新启动应用程序,背景将更新为上次选择的背景,但它仅在壁纸重新启动后才有效(即选择不同的壁纸,然后重新选择此壁纸)。

我已将问题缩小到SharedPreference仅在onCreateEngine()方法中更新的值。壁纸服务运行后,该onCreateEngine()方法不会被调用,因此即使 的值SharedPreference已更改,它也不会在壁纸服务中更新。

我的问题是如何重新启动墙纸,以便onCreateEngine()在更改设置后调用该方法?同样,它们SharedPreferences正在工作,因为重启后一切正常。我知道我需要使用该onsharedPreferenceChanged方法,但我不确定应该在哪里发生,或者该方法中应该包含哪些代码来重新启动墙纸引擎。

这是示例代码。我的情况是一样的,除非评论指出:

0 投票
1 回答
543 浏览

android - Android:PreferenceManager vs Context.getSharedPreferences() 以及为什么后者让我失望

好的,在 Udacity Android 开发课程之后,我到达了希望访问保存到名为 pref_general.xml 的 sharedPreferences 文件中的邮政编码的部分,该文件具有以字符串类型保存的邮政编码并通过连接到名为 location 的键键值对。

我解决这个问题的方法是使用 getSharedPreferences() 方法按名称获取文件。虽然这似乎不会导致问题,因为文件没有变成 null,但尝试检索邮政编码导致无法通过键找到值并确定参数的给定默认值。

logcat 上的第二个详细语句导致默认字符串值 0,而不是与给定键 94043 邮政编码绑定的值。

现在 Udacity 给出的答案是使用 PreferenceManager,它获取与 Activity 绑定的默认单独的 sharedPreferences 文件

该文件不为空,并且检索到的邮政编码是在 sharedPreference 文件中设置为键值对的给定默认邮政编码 94043。

我想了解为什么我的方法不起作用;它非常接近。唯一的区别是文件的访问方式。请给我一个解释为什么。谢谢你。

0 投票
2 回答
8712 浏览

android - 如何从android中的共享首选项存储和获取JSON对象

将 JSON 对象存储到字符串是可能的。但是有什么方法可以将 JSON 对象存储在 Shared Preferences 中并进行检索?

main_obj 将如何存储在共享首选项中?

0 投票
0 回答
320 浏览

java - 首选项始终返回默认值

我使用此代码在 SharedPreference 中创造价值。

这是从 SharedPreference 中获取值的代码。

ans 的值始终为 7。

0 投票
2 回答
119 浏览

android - 当只知道名称的一部分时,是否可以获得共享首选项对象?

请注意,这个问题不是关于在不知道键的情况下获取 SharedPreferences 对象的内容,而是关于如果不知道其名称是否可以自己获取 SharedPreferences。

假设有“文件名”“something-a”、“something-b”、“something-c”的 SharedPrefreferences 集合。那么是否有可能确定有 3 组 SharedPreferences 对象可用,并且能够在只知道其名称的“某物”部分时获取它们?

我猜没有,但希望有。

除了说需要将应用程序更新为 Marshmallows 权限模型并且它需要能够读取由旧版本应用程序编写的首选项文件,其中首选项名称为“某物-imsi”。如果用户没有授予 Marshmallow 的相关权限,则应用程序不知道 imsi,因此我试图找出应用程序在不知道全名时是否可以读取共享首选项。

0 投票
2 回答
1973 浏览

android - 如何使用共享首选项存储图像?安卓

我下面的代码将图像从画廊放到我的 ImageButton 但总是当我离开应用程序或移动到另一个活动时,图像不会保存并且第一个背景再次出现。

我需要帮助,如何保存我定义为 ImageButton 背景的图像

我阅读了有关 sharedpreferences 的信息,但我不知道如何在我的应用程序上使用

-

- 我的课

我的 XML

0 投票
1 回答
152 浏览

android - Android中Activity、Widget、后台服务等之间的标准首选项保存和访问方法

我很陌生,Android在开发应用程序时遇到了一个场景Android,我不知道应该使用什么方法来保存和访问我在不同活动、小部件、后台服务、广播接收器等之间的偏好...

我相信必须有一个简单的内置方法,但是在搜索了一段时间之后,我只是遇到了一些我根本无法理解的有线文章,而没有指出一个简单的方法来帮助我的情况。

这是我的场景:

  • 我有一个应用程序,它可以有多个活动、多个小部件、多个后台服务以及多个广播接收器(我知道我们也将接收器用于小部件)......
  • 上面提到的任何对象都可能存在或不存在,具体取决于当前情况,例如,当没有活动或后台服务正在运行时,小部件可能出现在主屏幕中,或者后台服务可能正在运行而没有活动正在运行那一刻,这对于所有其他可能的情况都以同样的方式进行......
  • 也有可能当一个小部件出现在主屏幕中时,一个活动也在运行,甚至可能有一个服务也在运行。
  • 服务可能在单独的线程上运行。

那么基于这些条件Android,实现我在它们之间保存和访问数据的目标的标准方法是什么?

我的正常方法是SharedPreferences这样使用:

但是第一个问题是SharedPreferences需要一个Context,例如,我在服务中没有它。即使我以某种方式将我的主要活动传递Context给服务,当该活动完成或终止而同一服务仍在单独的线程中运行时会发生什么?

因此,如果有人可以指导我在这种情况下以正确的方式保存和访问数据,或者在Context不需要任何活动的情况下拥有始终有效的内部服务和小部件等的方式,例如总是getSharedPreferences("Settings", MODE_PRIVATE)从那里调用Context返回相同SharedPreferences的对象,我可以使用来自其他来源的存储在其中的数据,我会很高兴。谢谢!

0 投票
0 回答
85 浏览

android - 使用 Android Vector Drawable

我是一名主题/图标包设计师/想成为开发人员,并且在开发方面仍然非常环保。我正在开发一个概念验证应用程序(如下图所示)。字形是用矢量可绘制对象绘制的,我希望能够根据用户输入、sharedpreferences 和 colors.xml 更改字形颜色。这可能吗?

截屏

这是我的矢量可绘制对象:

>