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

android - 为什么我会收到带有 SharedPreference 变量的 ArrayIndexOutOfBoundsException?

我有一个简单的应用程序,可以打印笑话并保存你“最喜欢”的笑话。我遇到了 arrayoutofbounds 问题,我不确定我做错了什么。这是我的代码:

这似乎发生在这部分:

以下是加载和保存方法:

注意 ^ 上述方法工作正常。我的应用程序使用一个收藏夹数组正确运行,但是当我添加更多时它开始崩溃。我一定错过了一些简单的东西,但我找不到。谢谢。

0 投票
1 回答
402 浏览

android - 使用 SharedPreferences 从 Edittext 检索用户名以进行下一个活动

我想我可以在登录后绕过登录活动,但如何检索用户名并将其传递给下一个活动。我得到用户名的值为 NULL

这是登录活动

这是我的 NextActivity,其中包含菜单栏中的注销操作

0 投票
1 回答
44 浏览

android - 我已经创建了一个带有单选组的自定义对话框,我想将单选按钮的值存储在 android 的 sharedpreference 中

0 投票
1 回答
150 浏览

java - 在 SharedPreferences 上,将变量类型从 Boolean 更改为 Integer

我有一个SharedPreferences我之前创建的变量作为Boolean类型,以及与之相关的所有逻辑,如下面的代码所示:

但是,随着必需品的变化,现在我需要更改此变量并将其检索为Integer

但是正如预期的那样,当我将所有内容更改为以整数形式检索时,它会给出错误 java.lang.Boolean cannot be cast to java.lang.Integer,因为变量已保存为Boolean,现在正在作为Integer...

我知道我可以创建一个新变量并忽略之前创建的变量,但是有没有办法更改引用以开始存储为 a Integer

0 投票
1 回答
154 浏览

android - 从列表中获取文本

主要活动,

应用适配器,

在应用程序适配器中(在 onCheckedChanged 中),我可以保存复选框值(真或假)和列表视图中的项目总数(已安装应用程序的总数)。以同样的方式,我想保存所有应用程序的 PACKAGE NAME。我所做的保存是使用以下两种方法中的任何一种,

  1. editor.putString("name" + buttonView.getTag(), applicationInfo.packageName); //(在onChecked中添加了这个改变)
  2. editor.putString("name" + position, holder.packageName.getText().toString()); //(在getview中添加这个)

这两个只保存一些包名或什么都不保存。请帮我保存所有包名。


注意:位置和 buttonView.getTag() 值为 0,1,2,...等

0 投票
2 回答
2047 浏览

android - 如何在 60 分钟后删除共享首选项

我想存储登录数据,但我希望在 60 分钟后删除该数据。这样做的正确方法是什么?

该应用程序可以在这 60 分钟内关闭、停止、打开。我不想使用内部数据库。

这是我的访问代码SharedPreferences

0 投票
3 回答
256 浏览

java - 将列表放入 sharedPreferences

我做了课Employee,我也做了List<Employee>从课堂上接受对象的课程。

我在该列表中放置了三个对象,我想在关闭应用程序后保存它们。我尝试使用SharedPreferences来放置列表,但似乎SharedPreferences不接受将列表放入其中。我该怎么做?

0 投票
2 回答
1080 浏览

android - SharedPreferences 替换数据

我有一个应用程序,每当我按下按钮时都会给我一些字符串,然后使用 sharedpreferences 保存这个值。但是,我想限制这个保存功能,所以它只会保存最后三个收到的字符串。

结构如下: 字符串 A 字符串 B 字符串 C

下次当我单击按钮时,它会将值记录到字符串 A,同时将旧字符串 A 移动到字符串 B,将字符串 B 的旧值移动到字符串 C,并相应地删除字符串 C 的旧值。

目前我不确定它是如何完成的。

期待您的帮助。

0 投票
2 回答
1074 浏览

android - 如何从android中的第一个活动中删除共享首选项,退出并启动应用程序

明确共享偏好和退出的功能:

清单文件:

我的第一页 FirPageflipMainActivity 前四个活动在注册后完成当我调用给定代码以从共享首选项值中删除和清除并退出应用程序时,我在主活动中有注销按钮,然后它变为退出,但它在我想要的主活动之前出现在启动页面上它应该从 FirPageflipMainActivity 的凝视页面开始,请告诉我哪里做错了

0 投票
3 回答
22766 浏览

android - 在 MVP 模式中,了解活动/上下文的演示者是否是个坏主意?

几周以来,我一直在使用 MVP 模式,现在我已经到了需要上下文来启动service和访问的地步Shared Preferences

我读过 MVP 的目的是将视图与逻辑分离,并且context可能Presenter会破坏该目的(如果我错了,请纠正我)。

目前,我有一个如下所示的 LoginActivity:

登录活动.java

演示者接口 ILoginPresenter.java

最后,我的主持人:

LoginPresenterImpl.java

如您所见,我将上下文从 传递Activity到我的Presenterjust 中,这样我就可以访问Shared Preferences. 我很担心将上下文传递给我的演示者。这是一件好事吗?或者我应该以其他方式做吗?

编辑实现了 Jahnold 的第三个偏好

所以让我们忽略接口和实现,因为它几乎就是全部。所以现在我是injectingSharedpreference 到我的演示者的接口。这是我的代码AppModule

AppModule.java

我获取上下文的方式来自MyApplication.java

当应用程序开始时,我确保使用这行代码创建这个对象图:

这个可以吗?我的意思是我现在不必将活动中的上下文传递给我的演示者,但我仍然拥有应用程序的上下文。